Kernel#p をもっと便利に

デバッグ効率を上げる提案の話。
Ruby で、以下のようなメソッドの返値をちょっと見てみたいとき、

def foo
  ...
  str.gsub(...)
end

今の Ruby だと以下のようにしないと行けません。カーソル移動とタイプ数が多くて不幸です。

def foo
  ...
  x=str.gsub(...)
  p x
  x
end

p が引数をそのまま帰してくれれば、以下のように書くだけで済みます。幸せです。

def foo
  ...
  p str.gsub(...)
end

という提案を ruby-dev に流してみたことがあるのですが、若干反響があったもののスルーされてしまいました。しかし月に 10 回くらい不便さを感じることがあるので、今更ごねてみました。提案自体に対する反対意見があったわけではない (と思う) ので、なんとか採用されないかなぁ。あ、printf デバッグすんなというつっこみは謹んで却下します。