반응형
상수가 이미 정의되어 있는지 확인
이것은 간단한 것입니다. 다음 예제에서 상수가 이미 정의되어 있는지 어떻게 확인합니까?
#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
.
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
반응형
'Program Tip' 카테고리의 다른 글
특정 버튼에 기본 '입력'을 설정하는 방법 (0) | 2020.10.16 |
---|---|
Oracle 11g (클라이언트)를 제거 / 완전히 제거하는 방법은 무엇입니까? (0) | 2020.10.16 |
Android에 페르시아어 (Shamsi 또는 Jalali) 캘린더 용 라이브러리 또는 알고리즘이 있습니까? (0) | 2020.10.16 |
Bootstrap 3으로 버튼이 눌리지 않게하는 방법 (0) | 2020.10.16 |
객체 배열을 기본 유형의 배열로 변환 (0) | 2020.10.15 |