Причина, по которой вы получаете ошибку несоответствия суперкласса, состоит в том, что вы уже определили класс Word
как наследующий от Object
class Word
...
end
в Ruby (как в большинстве динамических языков).) вы можете monkey-patch классы, заново открыв определение и изменив класс.Однако, в вашем случае, когда вы снова открываете класс, вы также пытаетесь переопределить класс как наследующий от суперкласса String
.
class Word < String
...
end
Как только класс и его структура наследования определены, вы не можете определить его снова.
Как уже говорили несколько человек, выход и перезапуск irb позволят вам начать с нуляв определении Word
класса.