У меня есть файл Word.rbNameError: неинициализированная постоянная игра
class Word
attr_accessor :word, :letters
def initialize (word)
#@word = word
@letters = word.split('').map{|letter| {:letter => letter, :hidden => true} }
end
end
и другой файл Game.rb, который будет использовать Word.rb
require_relative ('./Word.rb')
require 'pry'
class Game
attr_accessor :guesses, :guessed_letters, :words, :current_word
def initialize (words)
@guesses = 0
@guessed_letters = []
@words = words
@current_word = current_word
end
end
И я получаю следующее сообщение об ошибке :
NameError: uninitialized constant Game
Когда я пытаюсь создать экземпляр игры, как это:
game = Game.new(['hello', 'sunshine', 'chipmunk', 'twitch'])
Я просто не уверен, что я делаю неправильно, так как я требую файл Word.rb
, который Game.rb
понадобится. Все файлы находятся на одном уровне, ничто не находится в подкаталоге. Интересно, что я не получаю эту ошибку, как только я прокомментирую строку require_relative
(но, конечно, мне нужен этот файл). Я также пытался не использовать require_relative
и просто используя require
, а также пару других разновидностей: parens/no parens, расширение файла/расширение файла и т. Д. Как мне правильно потребоваться этот файл? У меня также есть прекрасный и надежный массив слов, сидящих в другом файле, который я бы хотел потребовать, чтобы его использовали и передали в Game.new()
.
где вы положить игру = Game.new, в каком файле? , причина, по которой я спрашиваю, это то, что я не могу воспроизвести вашу проблему. – Doon
прямо сейчас Я просто запускаю это (все команды) в терминале, так что игра = Game.new() была создана в терминале, а также – HolyMoly
вам нужен Game.rb на сеансе REPL (IRB/PRY)? – Doon