我開始在整個代碼中放置print-statements。爲了不弄亂輸出,我不喜歡的東西:錯誤重要懶惰評估「#{}」 - ruby中的字符串
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}" }
但這看起來很醜。那麼,如何評估一個'#{}'字符串?
任何理由,爲什麼你不能使用內置的[記錄器類](http://www.ruby-doc.org/stdlib-1.9.3/libdoc/logger/rdoc/Logger.html)而不是重新發明輪子? –
同意。使用記錄器或Syslog功能。不要重新發明輪子。 –
使用記錄器,我必須將「嚴重性」映射到我的「調試級別」,這不是太好,恕我直言。用「太多字符」來編寫代碼塊的問題仍然是一樣的......所以我仍然希望能夠評估「#{big_class.inspect}」...... – ineiti