1.block的多行与一行书写 多行书写
[1,2,3].each do |n|
puts "num : #{n}" #> num is 1 num is 2 num is 3
end
一行书写
[1,2,3].each {|n| puts "num : #{n}"} #> num is 1 num is 2 num is 3
2.yield语句 可以看做是一种占位符当方法执行yield时候,实际执行的是调用方法时跟在后面的代码块中的代码. 当调用my_num 方法时,执行到yield时,会执行block语句中的内容,当block语句中的内容执行完后,又回回到my_num中继续执行。
def my_num
puts "num is 1" #> num is 1
yield #> num is 2
puts "num is 3" #> num is 3
end
my_num do
puts "num is 2"
end