有人可以總結一下什麼時候使用$DEBUG
。我不熟悉它,並且沒有找到相關文檔(Class Thread documentation和Module Signal documentation)。
這些例子是我不明白這是怎麼回事:
p @ivar if $DEBUG
和:
Signal.trap("USR1") do
$debug = !$debug
puts "Debug now: #$debug"
end
有人可以總結一下什麼時候使用$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
信號進入該進程時,它將更改調試模式(僅在有時僅用於打印調試信息很有用)。
會請你告訴一例中設定的它在命令行中,ty! – aug2uag 2013-03-08 09:45:33
呃,'ruby -d
3秒:http://nhw.pl/wp/2006/08/04/debug-variable-in-ruby – nneonneo 2013-03-08 09:30:20