J'essaie de créer une classe Ruby qui soit très flexible quant à son type et qui, je l'espère, puisse hériter des propriétés d'un certain nombre d'autres classes en fonction des valeurs avec lesquelles elle est initialisée :
class Test
def initialize(type,etc)
case type
when "stringio"
inherit_from_stringio_with_data(etc)
when "list"
inherit_from_enumerable_with_data(etc)
# and so on
end
end
end
Test.new("list").each do |item|
p item
end
s = Test.new("stringio")
s.seek(3)
puts s.read(2)
Je connais - ou plutôt j'ai lu - la puissance du mixin, mais pour autant que je puisse dire, ce n'est pas tout à fait exposé correctement. Est-ce que quelqu'un a une idée, ou est-ce que j'essaie quelque chose qui est mieux réalisé d'une autre manière (en ayant, disons @content
qui contient etc
en tant que StringIO
, Enumerable
etc).
Gracias.