Странный вопрос, поскольку я никогда не пробовал это раньше в моем обычная привязка данных.
Скажем, если я привязываю данные к текстовому полю, и мои данные были определенным числом «123», но я хотел, чтобы текстовое поле отображало «Data: 123». Без добавления этой дополнительной информации «Данные:» к возвращаемым данным в самом объекте,
конец класса B "hello" А вот с модулями это ... Когда классы наследуются в Ruby, одноэлементные классы также наследуются: Однако с модулями это не так: ] Чтобы обойти это ограничение, многие люди прибегают к этой уродливой хитрости: Итак, мой вопрос: есть ли теоретическая / концептуальная причина этого ограничения на модули? Или это была всего лишь сложность реализации? Посмотрев исходный код C (YARV / MRI), я могу определить, что есть трудность реализации (не непреодолимая, но все же одна), но является ли это единственной причиной? Есть ли другие причины для этого ограничения? спасибо class A
def self.hello
puts "hello"
end
end
class B < A
end
B.hello #=> "hello"
module M
def self.goodbye
puts "goodbye"
end
end
class A
include M
end
A.goodbye #=> NameError
module M
def self.included(c)
c.extend ClassMethods
end
module ClassMethods
def goodbye
puts "goodbye"
end
end
end