豊福です。 西さん >>| def foo(@x, @y = 0) のように仮引数のところにインス >>|タンス変数を使えるようにするパッチです。 ... > って書きたいよー!こっちが綺麗じゃん。見易いじゃん。わかりやすいじゃん。 > という人もいます。(多分、豊福さん。(すいません、一蓮托生です)) 腕試しにやってみたというのが動機なのですぐ寝返る かもしれませんが、とりあえず木の陰から応援してます。 まつもとさん >> あんまりその気になれないんですよねえ。インスタンス変数に代入 >> したいなら、ちゃんと代入すべきではないかという気がして。 確かに def foo(x); @x = x; end の方が代入したと いう気分がありますね。def foo(@x); end だと「何? 何したの?」という感じがあります。 でも callcc {|$c| ... } を初めてみたときもちょっと 異和感ありましたが最近は慣れてきたので def foo(@x) も 慣れの問題のような気がします。(あれ、def foo($x) もあり?) 西さん > 例えば、比較的多い(一行に入りきらないくらいの)インスタンス変数を持つよ > うなクラスを初期化する場合、 > ---------------------------------------------------------------------- > def initialize (subject=nil, from=nil, addr=nil, host=nil, time=nil, > contents=[], link=nil, ...) > @subject, @from, @addr, @host, @time, @contents, @link = > subject, from, addr, host, time, contents, link > ... > end > ---------------------------------------------------------------------- 私もこういうときはインスタンス変数引数を使いたく なるかな。 > 「"i+=1" でいーじゃん」派 vs 「"i++" じゃなきゃ死ぬ」派 私は死ぬまではいかない「"i++" でもいーじゃん」派です。 "++" はメッセージじゃなくて syntax sugar で構いません。 --- 豊福 toyofuku / juice.or.jp