检查是否已定义常量

时间:2012-04-16 09:53:57

标签: ruby constants

我希望这是一个简单的问题。 在下面的示例中,如何检查是否已定义常量?

#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)

2 个答案:

答案 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