-1

を含む外部ファイル を用意wordlist.rbします。

code_words = { 'a' => 'is a', 'b' => 'is b' }

このファイルは、私のコードが含まれているのと同じディレクトリに保存されていwordlistます

code_word.each do | mykey, mysentence | puts mykey + "=> " mysentence end

このコードを実行すると、次のメッセージが表示されます

<main>': undefined local variable or method code_words' for main:Object (NameError)

助けてくれてありがとう

4

2 に答える 2

2

$必要なファイルからアクセスできるようにするには、グローバル変数 (つまり、で始まる) が必要です。

于 2013-03-10T16:23:41.607 に答える
2

はい、ローカル変数です。ローカル変数は、定義されているスコープに対してローカルです。そのため、ローカル変数と呼ばれます。別のスコープのローカル変数にアクセスすることはできません。これがローカル変数の要点です。

変数をグローバル スコープにする場合は、グローバル変数を使用する必要があります。

ただし、この場合、実際には変数ではなくグローバル定数が必要なようです。

CODE_WORDS = { 'a' => 'is a', 'b' => 'is b' }

puts CODE_WORDS.map {|mykey, mysentence| "#{mykey} => #{mysentence}" }.join("\n")
于 2013-03-10T20:42:38.560 に答える