Esta é uma maneira simples de evitar muitas repetições na depuração de impressão:
DEBUG = true
def debug(msg, obj = nil)
msg = ("== DEBUG: #{msg}") unless (msg.class != String)
$stderr.puts msg if DEBUG
$stderr.puts obj if (DEBUG && obj != nil)
end
Uso de amostra:
irb(main):006:0> h = {:foo => "bar", :baz => "quux"}
=> {:foo=>"bar", :baz=>"quux"}
irb(main):007:0> debug "i'm a debug statement"
== DEBUG: i'm a debug statement
irb(main):008:0> debug "here's a hash", h
== DEBUG: here's a hash
{:foo=>"bar", :baz=>"quux"}