チュートリアルどおりにやろうとしても、環境が中途半端に構築されていたのでよくわからない
ローカルPCにSymfonyを入れよう
前提にApache,PHP,DBがいる
ApacheってWebServerソフトウエアーっつーのか
そういえばYesodってのがある
Yesod動かしてみたい
HaskellPlatformインストールYesodインストール
コンパイルエラー
調べる
Yesod動いた
何してたんだっけ?←今ここ
struct A{ int value_; }
に対して
A a; a.*&A::value_ = 20;とアクセスできることがわかりました。
template <class MemPtr, MemPtr p>
MemPtr Access() { return p; }
a.*Access<int A::*, &A::value_>() = 40;
で、aのメンバではないものを呼び出しているようにしか見えませんでしたがa.*(Access<int A::*, &A::value_>()) = 40;っつーことらしく、
a.*(&A::value_ ) = 40;となるわけで問題ないですね。
void A::set(int _value){ value_ = _value;}
を呼び出す際は
(a.*Access<int A::*, &A::value_>())(50);です。
void A::call(){ (this->*&A::set)(50);}
とか
void A::call(){ (this->*Access<int A::*, &A::value_>())(50) ;}
となりますでしょうか。
Function.prototype.funcObj = function() { return { valueOf : this } };
var random = function()
{
var res = Math.random();
alert('randomL:'+res);
return res;
}
function add(i, j) {
alert('add');
if(j>0){
return i+j;
}
return j;
}
alert(add(random(), 1));
alert(add(random(), 0));
alert(add(random.funcObj(), 1));
alert(add(random.funcObj(), 0));
普通にrandom()を引数に渡すとadd()の第二引数に関係なく必ずrandom()が実行されますが、