【发布时间】:2012-06-22 17:12:29
【问题描述】:
我想做puts blob
但如果 blob 变量不存在,我会得到 p>
NameError: undefined local variable or method `blob' for main:Object
我试过了
blob?
blob.is_a?('String')
puts "g" if blob
puts "g" catch NameError
puts "g" catch 'NameError'
但没有任何作用。
我可以通过使用@instance 变量来解决它,但这感觉像是在作弊,因为我应该知道并相应地处理没有价值的问题。
【问题讨论】:
-
在不确定变量是否存在的情况下,你在做什么令人讨厌的魔法?
-
我在 Rails 中编程,我想确保我的方法可以处理防御性编程模式中不存在的变量
-
请解释可能发生这种情况的逻辑场景。
标签: ruby