OrcusZ Pro AMD | .Net lover | Bonjour,
Pour mes cours de Ruby je doit refaire la commande tree.
Voici l'explication de mon prof
Citation :
Le module Tree doit implémenter la méthode each qui sert à itérer simplement sur les enfants d'un noeud.
Comme la plupart des méthodes each en Ruby (Array, Hash...) elle prend en paramètre un code block (cf fin du module 2) qui sera appelé pour chacun des enfants. En + de ce code block, elle prend un paramètre optionnel (Boolean) qui va lui indiquer si elle doit itérer sur les enfants de ce noeud uniquement, ou bien aussi sur les petits-enfants etc récursivement.
Voici un exemple d'utilisation du module Tree sur une classe A, avec un exemple d'utilisation de la méthode each:
|
La je bloque avec ce code
Code :
- module TreeEmpty
- @empty = []
- def self.<< (childNode)
- @empty << childNode
- end
- end
- class StringIndexer
- include TreeEmpty
- end
- a1, a2, a3, a4 = StringIndexer.new, StringIndexer.new, StringIndexer.new
- a1 << a2
- a1 << a3
- a3 << a4
- a1.each { |child| puts ' '}.each do |child|
- puts '+-' + @empty[child]
- end
|
lorsque je compile j'ai cette erreur : indexation.rb:27:in `<main>': undefined method `<<' for #<StringIndexer:0x00000001d50948> (NoMethodError)
---------------
Made you your own sentence without believing that of the others...
|