Ruby の戻り値について混乱しています。たとえば、
(1..5).each {|i| puts 2*i}
戻ります
=> 1..5
なぜそれが起こるのかわかりません。複数の変数を返す場合があるようです。
Ruby の戻り値について混乱しています。たとえば、
(1..5).each {|i| puts 2*i}
戻ります
=> 1..5
なぜそれが起こるのかわかりません。複数の変数を返す場合があるようです。
Ruby のすべては式です。* 式には値があります。each
反復したオブジェクトに評価されます。この場合はRange
オブジェクトです。
Array#each の定義を見てみましょう:
VALUE
rb_ary_each(VALUE array)
{
long i;
volatile VALUE ary = array;
RETURN_ENUMERATOR(ary, 0, 0);
for (i=0; i<RARRAY_LEN(ary); i++) {
rb_yield(RARRAY_PTR(ary)[i]);
}
return ary;
}
入力配列のすべての要素に対してブロックを呼び出し、入力配列を返します。
*頭のてっぺんから、式ではないルビの名前を付けることはできません。