値ではなく変数を返す

私はそれぞれの方法の特徴について興味があります。

a = 1 
b = 2

[a,b].each do |x|
  puts x
end

ルビが値 “1”ではなく変数 “a”を返す方法はありますか?

ベストアンサー

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"

コメントする

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です