☆ 2009-11-15 (日) SPLイテレータラッパ[PHP][Sloth]↑

拙者、ちかごろPHPでコードを書く機会が多いでござる。
このPHP、なんというか、関数のインターフェース的に個人的に残念な仕様が多いと思っていたでござる。
そんな折、SPLのイテレータはなかなか便利そうではあるが、もっと関数的に使いたいと思ったでござるよ。
そこで拙者、SPLイテレータのラッパを書くことにしたでござる。
ラッパを書くにあたってFollow,LazyMapなどanatoo氏の一連のエントリを参考にしたでござる。多謝。ニンニン。
Sloth/AutoLoad.php をrequireすると使えるようになるでござる。PHP5.2以降対応。
ではお約束のfibonacci
$fibs=iter(array(1,1),fn('array($e[1],$e[0]+$e[1])'))->map(fn('$e[0]')); $fibs->take(15)->each(fn('print("$x,")'));
1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,
遅延リスト風に使えるでござる。全く趣味の産物ナリよ。
GitHubに置いたので自由に改変して良いナリ。
この記事へのコメント
最初の一行だけ表示されています
全部 最新10
リファラ:
- http:
/ (2)/ www.google.com/ search - http:
/ (1)/ fastladder.com/ reader/ - http:
/ (1)/ reader.livedoor.com/ reader/ - http:
/ (1)/ www.google.co.jp/ reader/ view/ ? hl= ja& tab= wy - http:
/ (1)/ www.google.co.jp/ url? sa= t& rct= j& q= sloth% 20php% 20iterator& source= web& cd= 1& ved= 0CCIQFjAA& url= http% 3A% 2F% 2Fgikoforth.s13.xrea.com% 2Fn2% 2Fwiki% 2FDiary% 2F2009% 2F11% 2F15& ei= llpQUNCaGuyamQWK7YDgCw& usg= AFQjCNEbaCwMUh89-KMCFv3Do4rKFLyO-Q - http:
/ (1)/ www.google.co.jp/ url? sa= t& rct= j& q= no22% 20sloth% E3% 81% A8% E3% 81% AF& source= web& cd= 1& cad= rja& ved= 0CCkQFjAA& url= http% 3A% 2F% 2Fgikoforth.s13.xrea.com% 2Fn2% 2Fwiki% 2FDiary% 2F2009% 2F11% 2F15& ei= 234AUsG4M4WokQXPp4CQCg& usg= AFQjCNEbaCwMUh89-KMCFv3Do4rKFLyO-Q& bvm= bv.50310824,d.dGI