【待望】PerlユーザのためのPHP入門 (601レス)
上下前次1-新
抽出解除 レス栞
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
301(1): 03/03/29 18:28 ID:??? AAS
%hash = map { $_ => 1 } @list;
とか、
@hash{@list} = (1) x @list;
Perlでいう↑みたいなことはPHPではどうやればできますか?
306: [深読みしてみる] 03/03/31 00:21 ID:??? AAS
>297,301,305
PHPでFP(関数プログラミング)でもやりたいのかな?
lambda 代わりに create_function,
array_(map|reduce|filter) 後、array_walk, usort。
で、大体御希望の事は出来ると思います。
ただし、…前にも書いたけど &&, || が倫理値を返したり、
…かといって三項演算子を使おうとすると今度は演算子の優先順位が違ったり、
他にも変数のスコープ等、細かな違いがいろいろ有るので、
PHPでのFPはあまりお勧めしない。素直にパラダイムシフトした方が良いと思う。
例えば >305 だと、
function test(){
$num=0;
return create_function('$x','global $num;$num+=$x;return $num;');
}
$num がグローバルに置かれるので、これでは要件を満たせていない。
カプセル化したいのなら、クラスを作る。
class Test{
var $num;
function Test(){ $this->num = 0; }
function add($n){ $this->num += $n; }
function getNum(){ return $this->num; }
}
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.025s