Делать именно то, что вы хотите, невозможно.Переменные экземпляра строго относятся к объекту.
Это происходит, что вы ожидаете, но @text
установлено на Windows
, а не Software
.
module Software
VAR = 'hejsan'
def exit
@text = "exited"
puts @text
end
end
class Windows
class <<self
include Software
def start
exit
puts VAR
puts @text
end
end
end
Windows.start