2

有人可以总结一下什么/什么时候$DEBUG使用。我不熟悉它,也没有找到文档(Class Thread 文档Module Signal 文档)。

这些是我不清楚发生了什么的例子:

p @ivar if $DEBUG

和:

Signal.trap("USR1") do
  $debug = !$debug
  puts "Debug now: #$debug"
end
4

1 回答 1

3

这两者完全不同。第一个是仅在$DEBUG设置时执行的调试行;$DEBUG如果将命令行参数传递-druby.

第二个是翻转一个$debug变量(不同的情况!!),这是特定于程序的。当您使用信号触发进程时SIGUSR1,它会更改调试模式(仅有时有助于让它打印调试信息)。

于 2013-03-08T09:32:48.627 回答