Estoy creando una clase Word
y estoy consiguiendo un error:TypeError: desajuste superclase para Word clase en Ruby
TypeError: superclass mismatch for class Word
Este es el código IRB:
irb(main):016:0> class Word
irb(main):017:1> def palindrome?(string)
irb(main):018:2> string == string.reverse
irb(main):019:2> end
irb(main):020:1> end
=> nil
irb(main):021:0> w = Word.new
=> #<Word:0x4a8d970>
irb(main):022:0> w.palindrome?("foobar")
=> false
irb(main):023:0> w.palindrome?("level")
=> true
irb(main):024:0> class Word < String
irb(main):025:1> def palindrome?
irb(main):026:2> self == self.reverse
irb(main):027:2> end
irb(main):028:1> end
TypeError: superclass mismatch for class Word
from (irb):24
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/railties-3.2.1/lib/rails/commands/console.rb:47:in `start'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/railties-3.2.1/lib/rails/commands/console.rb:8:in `start'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/railties-3.2.1/lib/rails/commands.rb:41:in `<top (required)>'
from script/rails:6:in `require'
from script/rails:6:in `<main>'
Parece segunda clase 'Word' está en conflicto con la primera. Sin embargo, no estoy seguro de cómo borrar eso sin cerrar el IRB y volver a abrir. – ScottJShea
Y como un FYI tiendo a hacer clases, bucles y bloques más complejos en un script y ejecutar el script que utilizar el IRB. – ScottJShea
Una buena lección para nosotros también es que esto haría lo mismo en cualquier archivo de Ruby. Gracias por el recordatorio. –