0
我試圖使用rspec評估下面的代碼。Ruby/Rails:eval似乎不工作
考慮:
# book = ...
Rails.logger.info book.inspect
上面的代碼打印返回類型的值是boolean
即{:foo=>false}
eval(book[:foo]).should be_false
,但似乎並沒有工作。雖然試圖運行rspec的,它拋出以下異常:
Failure/Error: eval(book[:foo]).should be_false TypeError: can't convert false into String
那麼,如何評估一個布爾值的方法,比如我的最終結果將是等效的?
嗯,你爲什麼需要'這裏eval'?你想達到什麼目的?我想簡單的'book [:foo]。should be_false'應該就夠了。你得到一個錯誤的原因是'eval'接受一個字符串作爲參數,並將該字符串評估爲Ruby代碼。 – 2012-07-23 10:25:45