클래스 변수를 사용하여 모듈 포함을 이해하려고합니다. 나는 클래스 변수를 가진 모듈을 포함시키는 것이 클래스 변수에 클래스 변수를 포함시킬 것이라고 생각했다.Ruby 모듈 포함 및 클래스 변수
이 의도 한대로 작동합니다
module A
@@my_name = "rick"
def print_name
puts @@my_name
end
end
class Y
include A
extend A
end
Y.print_name
하지만이되지 않습니다 :
module A
def self.included(klass)
klass.include B
klass.extend C
end
module B
@@my_name = "bob"
end
module C
def print_name
puts @@my_name
end
end
end
class Y
include A
end
Y.print_name
내가 "밥"를 기다리고 있었다 대신 내가 가진 :
A :: C에서 nitialized 클래스 변수 @@ my_name