Ruby中简单的’require’问题
我正在跟随’为什么是Ruby的尖锐指南’来学习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' }
然后我有另一个名为’files.rb’的ruby scipt:
require 'wordlist' #Get evil idea and swap in code words print "Enter your new idea: " idea = gets #real will have the key and code will have the value #Method followed by ! (like gsub!) are known as destructive methods code_words.each do |real, code| safe_idea = idea.gsub!( real,code ) end #Save the jibberish to a new file print "File encoded. Please enter a name for this idea: " idea_name = gets.strip File::open( "idea-" + idea_name + ".txt", "w") do |f| f
当我尝试运行Ruby脚本时,我得到:
files.rb:9:未定义的局部变量或方法`code_words'for main:Object(NameError)
知道如何让’require’正常工作以引用wordlist吗?
局部变量存在问题。 你可以看一下 – 解决方案存在完全相同的问题。