2015-05-01 4 views
1

Как заполнить класс фруктов так, чтобы нижний код работал? Я не могу понять, как вызвать метод printArgument в классе FruitМетоды вызова из модуля в классе

module MyModule 
    def printArgument(fruit) 
    print "from MyModule, printArgument: " 
    puts "argument supplied is #{fruit}" 
    end 
end 


class Fruit 
    #FILL ME OUT 


end 


s = Fruit.new(10) 
s.printArgument s.weight 

ответ

2

Это реализует Fruit:

class Fruit 
    include MyModule 

    attr_accessor :weight 

    def initialize(weight) 
    @weight = weight 
    end 
end 

Линия include MyModule расширяет класс с поведением MyModule. Это то, что известно как микширование. Остальное просто создает свойство weight и делает его общедоступным.

Смежные вопросы