在Ruby中未调用块
我尝试了以下代码:在Ruby中未调用块,ruby,Ruby,我尝试了以下代码: def m return yield if block_given? "no block" end puts m do x = 2 y = 3 x*y end 为什么输出是“无阻塞”? 我把块构造成m的方法有什么问题? {“测试”}将起作用。在put puts(m do x = 2 y = 3 x * y end) 输出为6 您的代码相当于 puts(m) do x = 2 y = 3 x * y end 移除放置: de
def m
return yield if block_given?
"no block"
end
puts m do
x = 2
y = 3
x*y
end
为什么输出是“无阻塞”?
我把块构造成m的方法有什么问题?
{“测试”}将起作用。在
put
puts(m do
x = 2
y = 3
x * y
end)
输出为6
您的代码相当于
puts(m) do
x = 2
y = 3
x * y
end
移除
放置
:
def m
return yield if block_given?
"no block"
end
m do
x = 2
y = 3
x*y
end
它将始终返回
m
块中的最后一条语句。谢谢。但是为什么测试会起作用呢?我现在知道了。谢谢:)这个问题已经在、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、和中得到了回答。