我希望这是一个简单的问题。 在下面的示例中,如何检查是否已定义常量?
#this works
var = var||1
puts var
var = var||2
puts var
#this doesn't
CONST = CONST||1
puts CONST
CONST = CONST||2
puts CONST
=> 1
1
uninitialized constant CONST (NameError)
答案 0 :(得分:120)
CONST = 2 unless defined? CONST
有关真棒defined?
运算符的更多信息,请参阅here。
P.S。在将来,我想你会想要var ||= 1
而不是var = var||1
。
答案 1 :(得分:18)
const_defined? API
pry> User.const_defined?("PER_PAGE")
=> true
pry> User.const_defined?("PER_PAGE123")
=> false