?「ブロックやクロージャはオブジェクト指向と相性が悪い」?
うへぇ、ちょっと読んでるこっちがドキドキするタイトルだなぁ。同じ「オブジェクト指向」でも、「クラス指向」と「メッセージ指向」のパラダイムの違い? クラス指向でも齟齬はおこさないと思うけどなぁ。Smalltalk でもあるみたいだし。
「改名DRUM その伍」の例だったら、
require 'drum' Drum::Client.new("localhost", 8080) { |c| lang = c.property["language"] puts "language=#{lang}" }
ってできるようにしたくなる。set_client() だと宣言的だし、グローバルに効いてそうでイヤン。
こういうのが Ruby Way かな?って思ってるけど皆が同意してくれるかはわからない。測ったことないので。
あ、どうやら私は常に「クロージャ・ブロック・イテレータ期」っぽいねぇ。いつもどうやって閉じ込めてやろうか考えてる。クロージャと組み合わせた Before/After パターンなんか最高だと思うけどなぁ。
失礼、トラックバック化けた。忘れてた。確か前はちゃんと化けずに送れてたよね? はてなが仕様変更したのか、keisuken さんとこのサーバの環境が変わったのか。
しかも、送り先のエントリ間違ってるし orz。ごめんなさい。消しちゃって下さい。
ついでに Java 人向けクロージャ解説。いいねぇファウラーたん>「Martin Fowler's Bliki in Japanese - クロージャ」