有人可以总结一下什么时候使用了 $DEBUG
吗?我不熟悉它,也没有找到文档(Class Thread documentation 和 Module Signal documentation)。
这些是我不清楚发生了什么的例子:
p @ivar if $DEBUG
和:
Signal.trap("USR1") do
$debug = !$debug
puts "Debug now: #$debug"
end
最佳答案
两者完全不同。第一个是调试行,只有当 $DEBUG
被设置时才会执行;如果将命令行参数 -d
传递给 ruby
,则会设置 $DEBUG
。
第二个是翻转一个 $debug
变量(大小写不同!!),它特定于程序。当您使用 SIGUSR1
信号命中进程时,它会更改 Debug模式(对于让它有时只打印调试信息很有用)。
关于ruby - Ruby 中的 $DEBUG 全局变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15290672/