반응형
Ruby에서 모듈 변수 만들기
Ruby의 모듈에서 클래스 변수와 유사하게 작동하는 변수를 만드는 방법이 있습니까? 이것이 의미하는 바는 모듈의 인스턴스를 초기화하지 않고도 액세스 할 수 있지만 변경할 수 있다는 것입니다 (모듈의 상수와 달리).
Ruby는 기본적으로 모듈에서 클래스 변수를 지원하므로 일부 프록시 또는 의사 클래스 변수가 아닌 클래스 변수를 직접 사용할 수 있습니다.
module Site
@@name = "StackOverflow"
def self.setName(value)
@@name = value
end
def self.name
@@name
end
end
Site.name # => "StackOverflow"
Site.setName("Test")
Site.name # => "Test"
인스턴스 내에서 호출 할 필요가없는 경우 모듈 본문 내에서 인스턴스 변수를 사용하면됩니다.
module SomeModule
module_function
def param; @param end
def param= v; @param = v end
end
SomeModule.param
# => nil
SomeModule.param = 1
SomeModule.param
# => 1
그러면 인스턴스 변수 @param
는 클래스 SomeModule
의 인스턴스 인 module에 속합니다 Module
.
모듈에서 클래스 인스턴스 변수를 설정할 수 있습니다.
module MyModule
class << self; attr_accessor :var; end
end
MyModule.var = 'this is saved at @var'
MyModule.var
=> "this is saved at @var"
모듈 정의 내에서 값을 초기화 할 수도 있습니다.
module MyModule
class << self
attr_accessor :my_variable
end
self.my_variable = 2 + 2
end
p MyModule.my_variable
참고 URL : https://stackoverflow.com/questions/5690458/create-module-variables-in-ruby
반응형
'Programming' 카테고리의 다른 글
Javascript에서 새 줄을 어떻게 생성합니까? (0) | 2020.08.11 |
---|---|
파이프를 사용하여 두 프로그램간에 간단한 문자열을 보내는 방법은 무엇입니까? (0) | 2020.08.11 |
부울 배열을 정수 배열로 변환하는 방법 (0) | 2020.08.11 |
두 좌표 사이의 거리를 계산하는 기능 (0) | 2020.08.11 |
cURL을 사용하여 기본 HTTP 인증을 올바르게 정의하는 방법은 무엇입니까? (0) | 2020.08.11 |