代码之家  ›  专栏  ›  技术社区  ›  Ian Dallas

Ruby中的简单“需要”问题

  •  0
  • Ian Dallas  · 技术社区  · 15 年前

    为了学习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”的RubyScipt:

    
    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: undefined local variable or method `code_words' for main:Object (NameError)
    

    知道如何使“require”正确地用于引用单词表吗?

    1 回复  |  直到 15 年前
        1
  •  3
  •   klew    15 年前

    局部变量有问题。你可以看 here -解决方案也有同样的问题。