【发布时间】:2011-12-09 08:20:13
【问题描述】:
在使用 ruby 调试器进行测试时 block_given? 给出 false 但仍然执行,有人可以解释一下它是如何执行的吗?它与 context(是调试器吗?改变上下文)? 如果是,那么如何找到当前上下文。
现在在使用 pry 时代替 ruby-debug,然后 block_given? 返回 true。
def test
debugger
if block_given?
yield(4)
else
puts "ss"
end
end
test {|el| puts "#{el}" }
【问题讨论】:
标签: ruby ruby-debug pry