我开始在我的代码中添加打印语句。为了不弄乱输出,我做了类似的事情:
dputs LEVEL, "string"
其中LEVEL
0 表示错误,1 表示重要 .. 5 表示详细,并与DEBUG_LEVEL
. 现在我的问题是,在这样的声明中:
dputs 5, "#{big_class.inspect}"
字符串总是被评估,如果我设置DEBUG_LEVEL
为 1 也是如此。而且这个评估可能需要很长时间。我最喜欢的解决方案是:
dputs 5, '#{big_class.inspect}'
然后根据需要评估字符串。但是我无法以我可以评估的形式获得字符串。所以我能想到的唯一想法是:
dputs( 5 ){ "#{big_class.inspect}" }
但这看起来很丑陋。那么如何评估 '#{}' 字符串呢?