Хабр Курсы для всех
РЕКЛАМА
Большая витрина: от крупнейших школ до частных авторов. Сравнивайте по цене, длительности, формату и выбирайте самый подходящий курс!
ExtraCat = Struct.new("ExtraCat", :name, :age, :weight)
lucky = ExtraCat.new("Lucky", 2, 4)
Углубляясь в модули
Перелистнем на одну каплю назад и вспомним, что такое модули и как их применять, в частности, обратим внимание на примеси и пример, приведенный там.
Но что случится при смешивании с нашими методами модуля? Если вы думаете, что будут включены как методы класса, то Руби так не поступает. Для этого можно сделать так:
class << self # Здесь self это MyClass include MyMod end
extend MyMod
def SuperCat.big_cat, а def self.big_cat, чтобы не пришлось всё переименовывать, когда сменишь имя класса.
pussy = HyperCat.new do
self.name = "Pussy"
end
pussy = HyperCat.new do
@name = "Pussy"
end
Покорим Ruby вместе! Капля десятая