From: dezawa Date: 2014-04-11T09:48:31+09:00 Subject: [ruby-list:49789] Re: lambdaとかprocとか使ったプログラム Procがないと困る、という役割ありますね。 # 本格的な使い方はベテランからあるかと思いますが、 Labels = [# colmn,ラベル,option ,,,,, HtmlSelect.new(:pre_condition_id , "前品種" ,:include_blank=>true, :correction => Proc.new{Operation.names}, :display =>:pre_con_name), ,,,, ] クラス定数Labelsは起動時に評価される。 でもその中のcorrectionの中身はLabelsを実際に使うときまで 評価を遅らせないとまずい (モデル Operetion の内容が変わってるかもしれない) 「繰り返しで書くか再帰で書くか」みたいにProc使っても使わなくても 書けるが、使った方がスマート というような使いこなしが出きるほどは 使いこなしていないので、通常は使いません。 この様な「使わないでどう書けるんだ?」と悩むときは使ってます。 出沢 ## Controller#index などのなかで corection を評価するならProc 要りませんが、それだと contoroller毎にごちゃごちゃ書かないと ならず嫌なので、こんな風にしています。 これだと、#index すら書かずに済むので。