В Ruby глобальные переменные имеют префикс $
, а не @
.
$global = 123
class Foo
@@var = $global
def self.display
puts @@var
end
end
Foo.display
правильно выводит 123.
Что вы сделали, так это присвоили переменную экземпляра классу Module или Object (не уверен, какой именно); эта переменная экземпляра не входит в область действия определенного вами класса.