Итак, я пытаюсь использовать mixins и метапрограммирование в рубине и не могу заставить это работать для меня. Я хочу, чтобы напечатать «Бабуин»Доступ к внешнему классу доступа из внутреннего класса
module A
def self.included(base)
base.extend ClassMethods
end
module ClassMethods
def install_A
include InstanceMethods
end
end
module InstanceMethods
class B
def testB
#What goes here???
A.monkey
end
end
attr_accessor :monkey
def initialize()
@monkey = "baboon"
end
def test
b = B.new
puts b.testB
end
end
end
class Chimp
include A
install_A
end
c = Chimp.new
c.test
А, ок. Наверное, я переношу правила определения внутренних классов с других языков. Спасибо! – Sandro