メソッドの戻り値

仕様書はありませんが、リファレンスマニュアルには書いてあります。
http://www.ruby-lang.org/ja/man/?cmd=view;name=%C0%A9%B8%E6%B9%BD%C2%A4
これをみると、

  • 制御構造は基本的に式であって、値を返す
  • if は、else 節が無くて条件式が偽の場合 nil を返す
  • if 修飾子は、条件式が偽の場合 nil を返す

ことが、それぞれ分かります。

まあ、リファレンスマニュアルは仕様ではないですけど……。