0
0

ブロック変数とは?

Posted at

ブロック変数は、Rubyのプログラミングにおいて、ブロック内で使われる変数のことです。

ブロックは、do ... end または { ... } で囲まれたコードの塊で、イテレータメソッド(例えば each, map, select など)と共に使用されます。

ブロック変数は、これらのイテレータメソッドによって供給される値を受け取るために使用されます。

ブロック変数の特徴と動作

定義と範囲

ブロック変数は、ブロックの開始部分で | |(パイプライン)の間に定義されます。
この変数はブロック内部でのみ有効で、ブロックの外部からはアクセスできません。

値の受け取り

ブロック変数は、イテレータメソッドから値を受け取ります。例えば、each メソッドが配列の各要素を順にブロック変数に渡します。

使用例

例えば、[1, 2, 3].each do |number| の場合、number はブロック変数です。each メソッドは配列 [1, 2, 3] の各要素を順に number に渡し、その都度ブロック内のコードが実行されます。

# 配列の各要素を表示
[1, 2, 3].each do |number|
  puts number
end

出力

1
2
3

複数のブロック変数
いくつかの場合(特にハッシュを処理する場合など)では、複数のブロック変数を使用することがあります。例えば、hash.each do |key, value| では、2つのブロック変数 key と value を使用しています。

# ハッシュの各キーと値を表示
{a: 1, b: 2}.each do |key, value|
  puts "#{key}: #{value}"
end

出力

a: 1
b: 2

ブロック変数はRubyのブロックを使ったプログラミングにおいて非常に重要で、コードの柔軟性と表現力を高めるためのキー要素です。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0