Когда вы запускаете print
, он печатает переменную экземпляра @connection
экземпляра ModuleTest
. У вас есть два других места в вашем коде, ссылающиеся на @connection
, но они указывают на переменную экземпляра @connection
экземпляра ModuleTest
класса Class
, и это совсем другое.
Более того, даже последний @connection
(тот, что для ModuleTest
класса) не получает его значение base
, пока вы не сделаете included?
.
Переменная экземпляра для созданного экземпляра ModuleTest
, таким образом, по умолчанию инициализируется на nil
при вызове puts
в print
.