Rubyでメソッドの戻り値

最近Rubyを勉強しなおしているんだけど、本とかは買ってなくて。
リファレンスマニュアルだけみてプログラム書いている。

マニュアルのちょっとした例文とかがたよりなんで結構しんどい(笑)。


で、メソッドの戻り値をどうすればいいのかを昨日しったんで日記に備忘録。

rubyではメソッド内の最後の式を処理した時点でその評価値を返すというのがルールとマニュアルにかいてある。

たとえば、ファクトリークラスみたいにあるクラスを作成してそれを返したければ

 def create( index )
    new クラス.new(index)
 end

で、いい。

コンストラクタ以外になんらかの初期化処理をするなら例えばこうなる

 def create(index)
   tmp = new クラス.new(index)
   tmp.member = なんか代入
   tmp
 end

この場合、最後の式がtmpというあるクラスのインスタンスなんで、この評価値ってことはtmpそのものだから(実態じゃないかもしんない、ここらへんちょっと自信ない)新しいクラスのデータを戻り値として返す。