需要访问另一个文件中的 var,不知道该怎么做
Need access to a var in another file, not sure how to do it
我正在创建一个刽子手游戏,目前只能在 pry/terminal 中玩。我有 4 个文件:
words_array.rb - 大字数组
words.rb-字class
game.rb - 游戏class
main.rb - 使用 words/game 中的方法并玩游戏
在我的 main.rb 文件中,我调用创建一个新游戏。它需要一个单词数组的 arg。
require 'pry'
require_relative ('./words_array.rb')
require_relative ('./word.rb')
require_relative ('./game.rb')
game = Game.new(some_words)
game.start_game
while !@game.over?
puts "Please guess a letter"
user_letter = gets.chomp
game.guess(user_letter)
if game.over?
game.over_message
end
game.render
end
binding.pry
我的问题是,在需要撬动我的所有文件后,它们似乎都已成功加载(包括 words_array.rb),当它点击/游戏时出现错误 = Game.new(some_words) /告诉我 some_words 未定义
main.rb:7:in `<main>': undefined local variable or method `some_words' for main:Object (NameError)
some_words 是 words_array.rb 文件中的单词数组(也是唯一的东西),已成功加载到 pry 中。为什么它不识别它,或者如果我想在 main.rb 文件中使用它,除了需要撬动它之外我还应该做些什么?
谢谢!
您收到此错误是因为 some_words
超出了您调用它的程序的范围。仅仅因为您需要 words_array.rb
文件并不意味着 some_words
变量在范围内并且可以访问。你应该 post 你的 words_array.rb
文件的开头,显示你是如何定义它的。只是省略了巨大的单词列表。
您是否在文件中使用模块?
Module GameWords
WORDS = %w(dog cat chair ....
end
然后当你 require 'words_array'
你可以通过调用获得数组:
game = Game.new(GameWords::WORDS)
# returns ['dog', 'cat', 'chair'....
你可以使用常量做一个更简单的形式:
您的 words_array.rb 可以是:
WORDS = %w(dog cat chair ....
您可以像这样使用它:
game = Game.new(WORDS)
我正在创建一个刽子手游戏,目前只能在 pry/terminal 中玩。我有 4 个文件:
words_array.rb - 大字数组
words.rb-字class
game.rb - 游戏class
main.rb - 使用 words/game 中的方法并玩游戏
在我的 main.rb 文件中,我调用创建一个新游戏。它需要一个单词数组的 arg。
require 'pry'
require_relative ('./words_array.rb')
require_relative ('./word.rb')
require_relative ('./game.rb')
game = Game.new(some_words)
game.start_game
while !@game.over?
puts "Please guess a letter"
user_letter = gets.chomp
game.guess(user_letter)
if game.over?
game.over_message
end
game.render
end
binding.pry
我的问题是,在需要撬动我的所有文件后,它们似乎都已成功加载(包括 words_array.rb),当它点击/游戏时出现错误 = Game.new(some_words) /告诉我 some_words 未定义
main.rb:7:in `<main>': undefined local variable or method `some_words' for main:Object (NameError)
some_words 是 words_array.rb 文件中的单词数组(也是唯一的东西),已成功加载到 pry 中。为什么它不识别它,或者如果我想在 main.rb 文件中使用它,除了需要撬动它之外我还应该做些什么?
谢谢!
您收到此错误是因为 some_words
超出了您调用它的程序的范围。仅仅因为您需要 words_array.rb
文件并不意味着 some_words
变量在范围内并且可以访问。你应该 post 你的 words_array.rb
文件的开头,显示你是如何定义它的。只是省略了巨大的单词列表。
您是否在文件中使用模块?
Module GameWords
WORDS = %w(dog cat chair ....
end
然后当你 require 'words_array'
你可以通过调用获得数组:
game = Game.new(GameWords::WORDS)
# returns ['dog', 'cat', 'chair'....
你可以使用常量做一个更简单的形式:
您的 words_array.rb 可以是:
WORDS = %w(dog cat chair ....
您可以像这样使用它:
game = Game.new(WORDS)