[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

タグ

phpとpythonに関するtaketyanのブックマーク (2)

  • PHP language update 201211

    8. ジェネレータとコルーチン スクリプト 実行結果 <?php int(1) function foo() { int(2) yield 1; yield 2; int(3) yield 3; } foreach (foo() as $a) { var_dump($a); } 9. ジェネレータとコルーチン スクリプト 実行結果 <?php started function coroutine() { echo "startedn"; 1 while (true) { 2 $val = yield; echo "$valn"; } } $c = coroutine(); $c->send(1); $c->send(2);

    PHP language update 201211
  • Perl でも JavaScript っぽくクロージャが作れるんですね - Born Too Late

    JavaScript ではよくある、こういう書き方。 一応説明すると、これは実行時に外側の無名関数を実行します。外側の無名関数は返り値として、内側の無名関数を返し、変数 counter には内側の無名関数が代入されます。 これの何が嬉しいのか。 counter 関数が内部に持っている変数 i は隠蔽されており、外から変更できない。 グローバル空間の汚染は counter 1 つだけ。 といったところでしょうか。とにかく、 JavaScript 脳の人はこういう感じのコードをよく書いている気がします。 JavaScript にはオブジェクト指向によくある protected や private といったアクセスレベルを制御する機能が無いため、これの応用で内部の変数やメソッドを隠蔽することが多いです。 Prototype や jQuery でもそういった使い方がされています。 このように、 J

    Perl でも JavaScript っぽくクロージャが作れるんですね - Born Too Late
  • 1