私もよくわかっていないので、かならずしも正しくはないと思いますが… >クロージャーの利点はグローバル変数を使わずにコードがかけると >認識しているのですが 変数化しなくてすむというのは匿名関数を利用することによるもなので、説明用のサンプルがとても簡単なものにしているためにそう見えるだけではないでしょうか? クロージャ的にすると、その環境も保持されるというのが一番大きなメリットではないでしょうか? 変数の引渡しや管理をしなくても済むので便利という面もあります。 簡単な例はNo1様が提示なさっているので、応用例にしてみると・・・ 以下のように、アニメーションで複数の要素を同時に扱おうとするときに便利とか… (例では処理関数を並行して実行させていますが、同じことをやるにしても、目的の機能を持つプロトタイプを作成しておいて、複数の実体化すると言う方法もあります) >それでもクロージャー使う方がいい
Perl大名 どんな大きな入力ファイルも、*とりあえず配列に* 読み込んでしまおうとす る、きわめてものぐさなプログラマのこと。 さらにそれを単語毎とか、一文字毎とかの配列に無造作に分割してしまうこと も多々ある。(だって楽なんだもん) そういうスクリプトを実行するとたいてい、ディスクがいつまでもカラカラ音 をたてているものだが、これは決して入力ファイルを読み込んでいるわけでは なく、他のプロセスがディスクに追いやられて断末魔の叫びを上げているので ある。 例: @input_chars = split( "", join( "\n", <> )); for $a_char ( @input_chars ) { do something( $a_char ); } <HFC02067@nifty.ne.jp> <cake-smd@ops.dti.ne.jp> uniq -u uniq
2007年04月19日04:15 カテゴリLightweight Languages perl - 勝手に添削^2 - loop control 他にもつっこみどころはあるのですが今回は、loop controlに的を絞って。 Perl Best Practices Damian Conway [邦訳:Perlベストプラクティス] ここギコ!: 安易なループは慎むべきですね jnaoyaのはてな日記 - 添削その2 [H.Iさんのコメントを受け加筆訂正アリ] まずは、DCONWAY先生の一言から。Loopに関する黄金則です。Perl以外でも有効。 Reject As many iterations as possible, as early as possible. 繰り返しは排除せよ、それもなるべく早い段階で 以下をご覧下さい。 jnaoyaのはてな日記 - 添削その2 while (m
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く