我想了解模塊包含類變量。我認爲包含一個帶有類變量的模塊也會將類變量包含到類定義中。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
我期待 「鮑勃」,而是我得到:
uni nitialized class variable @@ my_name in A :: C