タグ

ブックマーク / hibariya.hatenadiary.org (1)

  • PHP5.3未満で無名関数のようなものを書けないか足掻いてみた - のどをRubyでいっぱいにして

    あそびです。 無名関数というか、Rubyでいうブロックのようなものを引数にとれるようにしたくて、pure PHPだけでどこまでできるか色々と試行錯誤してみました。何に使うのかはあまり考えてません。 実際にできたのは↓のような書き方の何かです。見た目は気持ち悪いですが、そこそこ時間をかけてしまったので公開しつつ色々と補足します。 require 'bloc.php'; $hoge = 10; $b = bloc();if(called){ $hoge++; return $hoge; }; $b->call(); # => 11 $b->call(); # => 12 $b->call(); # => 13 $bに代入している行がどうみても不自然な感じがしますが、if(called){から};までの間は、すぐに評価されずに後でcall()を通して呼ぶことで何度でも呼び出すことができます。 仮

    PHP5.3未満で無名関数のようなものを書けないか足掻いてみた - のどをRubyでいっぱいにして
    send
    send 2010/06/05
  • 1