Program Tip

상수가 이미 정의되어 있는지 확인

programtip 2020. 10. 16. 07:57
반응형

상수가 이미 정의되어 있는지 확인


이것은 간단한 것입니다. 다음 예제에서 상수가 이미 정의되어 있는지 어떻게 확인합니까?

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

CONST = 2 unless defined? CONST

멋진 연산자에 대한 자세한 내용은 여기참조 하세요defined? .

PS 그리고 미래에 당신이 원하는 것 같아요 var ||= 1대신 var = var||1.


const_defined? API

pry> User.const_defined?("PER_PAGE")
=> true
pry> User.const_defined?("PER_PAGE123")
=> false

CONST ||= :default_value

위의 내용은 루비 1.9.3에서는 작동하지만 1.8에서는 실패합니다. 이제 1.8은 오래되었습니다.

참고 URL : https://stackoverflow.com/questions/10171978/check-if-a-constant-is-already-defined

반응형