我希望这段代码:
def print_call_and_return(string, &block)
puts string
block.call unless !block
"return"
end
puts print_call_and_return("parameter") do
puts "block"
end
打印:
parameter
block
return
但是它实际上打印以下内容:
irb(main):011:0> puts print_call_and_return("parameter") do
irb(main):012:1* puts "block"
irb(main):013:1> end
parameter
return
=> nil
有人可以解释一下吗?