LoginSignup
1
1

More than 3 years have passed since last update.

【Ruby】yieldについて

Posted at

yieldとは

ブロックを引数として受け取り、受け取ったブロックを実行するメソッドとなります。

yieldの使い方

以下の通りに使用します。

def test
    yield
end

test{puts "テストです"}

実行結果

テストです

testにブロック引数{puts "テストです"}を渡し、
そのブロックをyieldメソッドで実行してます。

引数とブロック引数を同時に渡す方法

def foo(a,b,c)
 i = 0
 while(i < a)
    yield a + b + c + i
    i += 1
 end
end

foo(7,5,3){|x| puts x} 

実行結果

15
16
17
18
19
20
21

ブロック引数にブロックパラメーターと呼ばれる変数|x|を記載することで、
その変数に毎回値が渡されることになります。
while文でyieldを7回繰り返すことで、その都度出力される値が変更されます。

1
1
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
1
1