遠藤です。

> また、関数形式でない形式で呼び出した場合、self を出力し、
> self を返すというのもいいと思います。
>
> def foo
>  ...
>  str.gsub(...).p
> end

こっちに対するご意見ご検討も期待してます ^^


これの利点は、メソッドチェインのデバッグが簡単になることです。例えば

> ary.map{...}.join("\n").gsub(...)

と書いていたところで、map まで評価した値を見たくなったとき

> p x=ary.map{...}
> x.join("\n").gsub(...)

と書かなければならないのが

> ary.map{...}.p.join("\n").gsub(...)

で済みます。

-- 
Yusuke ENDOH <mame / tsg.ne.jp>