반응형
클래스 상수에 액세스
다음이있을 때 :
class Foo
CONSTANT_NAME = ["a", "b", "c"]
...
end
액세스 Foo::CONSTANT_NAME할 수있는 방법이 있습니까? 값에 액세스하기 위해 클래스 메서드를 만들어야합니까?
게시 한 내용이 완벽하게 작동해야합니다.
class Foo
CONSTANT_NAME = ["a", "b", "c"]
end
Foo::CONSTANT_NAME
# => ["a", "b", "c"]
상수를 포함하는 클래스 내에서 추가 코드를 작성하는 경우 전역 코드처럼 취급 할 수 있습니다.
class Foo
MY_CONSTANT = "hello"
def bar
MY_CONSTANT
end
end
Foo.new.bar #=> hello
클래스 외부의 상수에 액세스하는 경우 클래스 이름 앞에 두 개의 콜론이 붙습니다.
Foo::MY_CONSTANT #=> hello
일부 대안 :
class Foo
MY_CONSTANT = "hello"
end
Foo::MY_CONSTANT
# => "hello"
Foo.const_get :MY_CONSTANT
# => "hello"
x = Foo.new
x.class::MY_CONSTANT
# => "hello"
x.class.const_defined? :MY_CONSTANT
# => true
x.class.const_get :MY_CONSTANT
# => "hello"
액세스 할 수있는 방법이
Foo::CONSTANT_NAME있습니까?
예, 있습니다 :
Foo::CONSTANT_NAME
참고 URL : https://stackoverflow.com/questions/6427548/accessing-a-classs-constants
반응형
'Programming' 카테고리의 다른 글
| 오늘 3 개월 전에 JavaScript로 날짜를 어떻게 계산합니까? (0) | 2020.06.29 |
|---|---|
| WPF DataGrid에서 한 번 클릭 확인란을 선택하는 방법은 무엇입니까? (0) | 2020.06.29 |
| 숫자 (0-9) 만 허용하고 문자는 허용하지 않는 정규식 (0) | 2020.06.29 |
| 소셜 네트워크에서 활동 스트림을 구현하는 방법 (0) | 2020.06.28 |
| Java 클래스가 비슷한 것을 구현해야하는 이유는 무엇입니까? (0) | 2020.06.28 |