From: Yuumi Yoshida <yuumi3 / ey-office.com>
Subject: [ruby-list:42612] メソッドの戻り値を知る方法
Date: Sat, 29 Jul 2006 11:20:59 +0900

るびきちです。

> 以下のコードのコメントに書いたような事をしたいのですが
> 
> def max(a, b)
>   if (a > b)
>     a
>   else
>     b
>   end
> # ここでメソッドの戻り値を表示(p) したい!
> end

p してそのオブジェクトのを返すメソッドを用意するといいです。

# pでもかまいませんが、ppはきれいな形で表示してくれます。

require 'pp'
class Object
  def d
    pp self
    self
  end
end

なのでこうでしょうか。
ちなみにifは「式」なので値を持ちます。

def max(a, b)
  if (a > b)
    a
  else
    b
  end.d

end

また
[1,2,3].d.map{|x| x*2}
のように式の途中に挟み込むことも可能です。

--
rubikitch
http://www.rubyist.net/~rubikitch/