無名関数内のpowへの引数渡しについて分かりません
初歩的なクロージャに関する例題なのですが、
まずはソースコードを見ていただいてほしいです。
解らないことの1つ目が、コード内の$vが省略?されてるのが分かりません。
powの引数指定の理屈が分かりません。
2つ目が、何故二度代入し、その値が第二引数で渡され次に第一引数を渡すのか。
分かりません。
ついでに3つ目が、このコードにおける参照渡しの意味が分かりません。
&があってもなくても使えるのでは?
クロージャが理解出来てるないのでしょうか?
powの引数の渡し方がわかってないのでしょうか?
最近ずっと$vのことばかり考えています。
はぁ……
該当のソースコード
$my_pow = function($times = 2) //powの第一引数はどこに行くの?渡したら$timesの初期値になる。 { return function ($v) use (&$times) //クロージャされてるのは分かります。 { return pow($v,$times); //べき乗$vの$times乗。 }; }; $cube = $my_pow(3); //何故ここでpowの第二引数が渡されるのか?$my_pow($v,$times)としないのか? echo $cube(3); //何故ここで第一引数が渡されるのか? ?>
試したこと
変数に値を入れたりして挙動を見てみました。
このコードが成り立つってことだけは分かりましたが……
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。