From: Wakou Aoyama Date: 1999-04-06T22:34:27+09:00 Subject: [ruby-dev:6560] Re: [ruby-list:13297] Re: alternative name of iterator 青山です。 Tue, Apr 06, 1999 at 07:05:33PM +0900 において Yukihiro Matsumoto さん曰く: > 気になるのは lib/* と sample/* はRubyプログラムのごく一部に > しか過ぎない(十分な母集団であるか自信が無い)という点です. そうですね。 > 個人的にはかっこを省略した方式を許しておいて,それに対してブ > ロックを提供する方法を用意しないのは片手落ちのような気がして > います.現在,doと{}の優先順位が違うことの最大の理由はそこに > あります. なるほど。 ブロックというのはある程度特殊なものですから、それを渡す場合には他の引 数と明確に分ける為に () があっても違和感は無いと思いますが、逆にブロッ クも他の引数と同じように扱うべきだという感覚では違和感が生まれるわけで すね。 この点に関しては先のように母集団として十分かは別として、とりあえずあの 範囲においては、ブロックも渡す場合は引数とは () で分けるという感覚は決 して小数ではなく、ある程度は一般的な感覚と思われます。 したがって、ブロックを渡さない場合は () が不要であり、ブロックを渡す場 合には () が必要というのは片手落ちとまで気にする程大きな制約にはならな いように感じられます。 このあたりはかなり感覚的なものであり、まさに言語の色に影響する所でもあ りますから、単に多数がそうですからどうでしょうとは言えない部分ですが、 実用上は便利になると思われるので、lib/* sample/* を道連れにして旗を振っ てみます。 という事で、(この件に限らず)最終的にはまつもとさんの好みしだいではある のですが、do .. end 派(?)のみなさん、いかがでしょうか? (vi 使いとしては本当は {} の方が便利なんですけれどね。さすがに全部 {} にしましょうというのはあまりにも無理がありますし、do .. end が見やすく 感じられるようになってしまったので...) > 意味的には > > |> STDOUT.print (( > |> ARGF.collect do |line| > |> line.upcase > |> end > |> )) > > が正解と言うことでしょうか.うーむ,悩むなあ. あ、そういえばそのような話もありましたね。 なるほど。 -- 青山 和光 Wakou Aoyama