什么是需要文件但它没有运行的可能原因

时间:2011-01-13 10:03:48

标签: ruby require

可能的原因是什么?

#wordlist.rb
code_words = {
'starmonkeys' => 'Phil and Pete, those prickly chancellors of the New Reich',
'catapult' => 'chucky go-go', 'firebomb' => 'Heat-Assisted Living',
'Nigeria' => "Ny and Jerry's Dry Cleaning (with Donuts)",
'Put the kabosh on' => 'Put the cable box on'
}


irb(main):001:0> require 'wordlist.rb'
=> true
irb(main):002:0> code_words
NameError: undefined local variable or method `code_words' for main:Object
    from (irb):2
    from :0

2 个答案:

答案 0 :(得分:3)

Kernel#load的文档说

  

在任何情况下都不会有任何本地人   加载文件中的变量是   传播到加载环境。

piyush说全局或常数都很好。

答案 1 :(得分:2)

将其声明为常量或全局变量。 code_words存在于require范围内,并且在加载后无法访问/