私はそれぞれのメソッドの機能について興味があります。値の代わりに変数を返します
a = 1
b = 2
[a,b].each do |x|
puts x
end
変数を返す「」ではなく値1にルビーのための方法はありますか?
私はそれぞれのメソッドの機能について興味があります。値の代わりに変数を返します
a = 1
b = 2
[a,b].each do |x|
puts x
end
変数を返す「」ではなく値1にルビーのための方法はありますか?
1
を返しません。[1, 2]
を返します。each
メソッドは、反復処理を返します。
> a = 1
=> 1
> b = 2
=> 2
> r = [a, b].each { |x| puts x }
1
2
=> [1, 2]
> p r.inspect
"[1, 2]"
あなたは配列値、または反復ブロック内の変数から「後方に行く」ことができれば、あなたが求めている場合は、私がどのように表示されません。キーと値のペアを持つマップを反復処理していた場合は、そうです。
> m = { a: 1, b: 2}
=> {:a=>1, :b=>2}
> m.each { |k, v| p "#{k} = #{v}" }
"a = 1"
"b = 2"
私は彼がブロック内で話していると思います。「each」からの戻り値ではありません。 –
@muistooshortええ、それについてのコメントを追加し、それを実現しました。 –
変数名は無関係です。必要な場合は、キーを値にマップできるように、ハッシュが必要です。 – d11wtq