Hatena::Groupsubtech

#生存戦略 、それは

-> 06 { 06 / 22 }

特異メソッドでクロージャ(?)

23:01 | はてなブックマーク - 特異メソッドでクロージャ(?) - #生存戦略 、それは

バイトのO君に特異メソッドでクロージャみたいなことってどうやるんですか、つわれたので

o = Object.new
str = 'string'

def o.foo=(proc)
  @__proc = proc
end

def o.foo(*args)
  @__proc.call(*args)
end

o.foo = Proc.new{
  puts str
}

o.foo
str = 'foo'
o.foo

みたいにすればできるんじゃない?って教えたんだけどきっと何か間違っていて、より良い解がある気がする。

babiebabie2006/06/22 11:09なる。>インクリメンタル検索 
って、ちょ、そのエントリタイトルやめてwwww

secondlifesecondlife2006/06/22 11:27ブーンww^^

kdmsnrkdmsnr2006/06/22 14:42つかうつかう>scaffold

secondlifesecondlife2006/06/22 14:47つかうよね(!-!)ノ

moromoro2006/06/22 18:39ノシ scaffold反対派
いや、モデルとコントローラは使うんですけど、
スペジェネもよく使ってますけど。でも、やっぱり。うーん。
で、ActiveRecordHelperとかを見る限り、やっぱり普通のHelperとして実装させたがってるに一票 >モデルの出力
それでもめんどくさいときはモジュール作ってmix-inしてるけど、さらにそれすらメンドいときはどうすんでしょうね。。

secondlifesecondlife2006/06/22 18:45えー。はてスクも scaffold ですよもちろん!
view はかなり書き換えますけど list 出力とかほとんど実装弄らなくてすむし。
> やっぱり普通のHelperとして実装させたがってるに一票
うーん、やはりそうなんですかね。model オブジェクトを view で extend すればすむ!とか思ったけどアレゲ

moromoro2006/06/22 21:31「はてスク」ってなんか響きがステキですごくいいです。
scaffoldはイキオイdisり過ぎたのでもうちょっと見直してみます。
コントローラなんかは確かにだいぶゴージャスになってるしなぁ。
> model オブジェクトを view で extend すればすむ!
これ何気によさそう。RubyならView周りの実装を分離するのも簡単にできるし、app/models/*.rbのなかに出力用コードがあるのはあれだけど、app/views/model_helper/*.rbとかにモジュールを入れて実行時にextendならそれでよくね?と目鱗。
つ「+1 興味深い」

トラックバック - http://subtech.g.hatena.ne.jp/secondlife/20060622