我执行了以下操作:
def add(x, y)
return x+y
end
result = add(4, 5) do
puts "heeeeyyy"
end
result #=> 9
我也将return
更改为puts
,但结果相同。请向我解释。
答案 0 :(得分:1)
块需要收益,否则不会被执行
def add(x, y)
yield if block_given?
return x+y;
end
如果要在块中打印结果,则:
def add(x, y)
yield x+y if block_given?
return x+y;
end
result = add(4, 5) do |result|
puts result
end