PHPで動くLINQもどきの開発に関するディスカッション
https://github.com/akanehara/ginq の開発に関係しそうなツイートをまとめました。終わらないので随時更新(予定)。
- tanakahisateru
- 13750
- 0
- 18
- 7
第297654658185列
@akanehara
@ktz_alias こういうの他にも欲しがる人がいてくれて嬉しいです^^ array_系の関数とつきあうのしんどいですもんね
2013-02-02 18:29:58
Ktz
@ktz_alias
@akanehara もしかしてfirst()は$it->current()でいける?first(Closure)は$it->where(Closure)->current()って感じ?
2013-02-02 18:35:31
第297654658185列
@akanehara
@ktz_alias なるほど LINQ に First と FirstOrDefault ってあるんですね。これりゃ便利だつくろう。
2013-02-02 18:35:55
Ktz
@ktz_alias
@akanehara fold (reduce, Aggregate)はないか…。これも組み合わせでいける?ちょっと思い浮かばない….
2013-02-02 18:40:33
Ktz
@ktz_alias
@akanehara phpの配列は連想配列でもあるので、closureが受ける引数は値だけでなく、キーも受けれた方がいいかも….
2013-02-02 18:54:12
田中ひさてる
@tanakahisateru
@akanehara @ktz_alias PHPはコール時に引数を多く渡してもエラーじゃないので、呼ぶとき2つ渡して、呼ばれる関数では、欲しい人だけ第二引数を受けるとか可能だよ。
2013-02-02 19:09:57
Ktz
@ktz_alias
@tanakahisateru これは気づかなかった…。キーはオプションだから第二引数でも問題ないし、その方がLinqのAPIとフィットしていいかもしれんね。
2013-02-02 19:12:39
田中ひさてる
@tanakahisateru
@ktz_alias 受けたほうで list($k,$v)=$arg という手もあるけど、使い分け方がややこしくなりそうだなと思って。
2013-02-02 19:15:47
第297654658185列
@akanehara
@tanakahisateru @ktz_alias じゃあセレクタや述語は ($v, [$k]) としておいて、結合セレクタは ($x0, $x1, [$k0, [$k1]]) ってするかな?
2013-02-02 19:16:27