From: Hideto ISHIBASHI Date: 2000-12-28T23:37:16+09:00 Subject: [ruby-list:26918] Re: 一行野郎と Ruby について (Re: [Q] Oracle PL/SQL with bind vars) 石橋秀仁です。なひさん、コメントありがとうございます。 "NAKAMURA, Hiroshi" wrote: > なひです。 > > > Rubyのmethod chainは「左から右に連鎖」します。 > > 「左から右にコードをタイプ」するのと一致しています。 > > 考えながら書ける。それが「自然なコーディング」や > > 「楽しさ/嬉しさ」という感覚につながっている気がします。 > > # Perlで同じことを書くと「右から左に連鎖」するからヤです。 > > # 例えば gets.chop.split("\t").each{|e| foo(e)} のような処理。 > > > > > > Rubyのmethod chainは、考える順に書くことができて、すごく自然です。 > > 考えながら書く=考える道具として優秀だと思います。メソッドの動作を > > 確認するために、コマンドラインで一行野郎(one-liner)を書くときとか。 > > 軽く内省してみるに、なひは↑のような考え方、 > またコーディングの進め方をしていないようです。 > わらわら一気に複数思い浮かぶので、それらを書き留めます。 > どうせ後に再構成は必須なので、メモでよろしい。 > 頭からなくならないうちに文字にシリアライズする。 > 落ち着いたら、好きなだけ入れ替えたり削ったり加えたりします。 あ、ぼくが書いたのはone-liner限定の話です。 ファイルに書く場合は、ぼくも同じような感じでやっています。 > これとは違う理由で、なひはメソッドチェインがあまり好きではありません。 > 理由はこちら。ものすごく具体的で、「デバッグと相性が悪い」こと。 > http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/~poffice/mail/ruby-dev/9141 > > で、最近もう一つ思いついたのが、「リファクタリングとも相性が悪い」こと。 > http://www.pragmaticprogrammer.com/ruby/articles/pink/index.html > > いわゆる「リファクタリング」の是非、効果の議論はおいといて、 > チェインが多いと↑こんなにリズムよくできないと思います。 > > 結局「あとからいじりにくい」という点で、デバッグとの相性と同じことかも。 賛成です。同感です。RubyUnitを使ったTFPをやっているので、 method chainはあまり使いません。なひさんの述べられているのと、 同じ理由です。使うのは、StringとArrayとHashとかです。 いわゆる、ほかの言語で言うところの言語組み込みprimitive object の場合のみです。 で、エラー処理がchainの途中にひつような場合は、 chain全体をbegin...rescue...endで囲む「のではなくて」、 一行ごとに分離しています。 -- 石橋秀仁 hideto-i@rr.iij4u.or.jp i-mode: i.sys@docomo.ne.jp Odigo: 1489394 ICQ: 83329246 Do you like jazz? jazzbar@freeml.com