我试图运行这样的代码:在if
声明红宝石 - 未定义的局部变量或方法
class Run_Fiction_Generator < Fiction_Generator
def generate_story
puts "Title: \"#{generator.title} #{generator.random_date}\""
puts "---------"
puts generator.story
end
end
prompt = '>'
puts "Hello Welcome to Fiction Generator"
puts "First a little about me: "
puts ""
generator = Run_Fiction_Generator.new
puts "This amazing Fiction Generator was created by: #{generator.created_by}"
puts "He's a student with ID number: #{generator.student_id} "
puts ""
puts "Okay now your story! Enter '1' if you want to generate a story now, or '2' if you don't want to"
print prompt
answer = gets.chomp
if answer == "1"
generate_story
else
puts "It was nice meeting you, catch ya later!"
end
但该方法generator_story
不断抛出此错误:
undefined local variable or method 'generate_story' for main:Object (NameError)
我m的印象是我已经在我的代码中定义了方法。任何人都可以告诉我哪里出了问题?
嗨detunized,我试过你的建议,但它仍然没有奏效。现在错误已经被引发到了generator_story方法“generator_story:undefined local variable或method'generator'for #Run_Fiction_Generator。 所以很抱歉成为一个麻烦,但我是一个noob,现在我承受着严重的压力。花了我几周的时间才得到这个,现在我只是沮丧 – muyiwamat
@muyiwamat,你不应该在'Run_Fiction_Generator'方法里面使用'generator.' generator'是在类之外定义的局部变量。确定你在做什么,请先阅读一本关于Ruby的书,并获得基础知识 – detunized
我有同样的问题,我做了同样的我实例化类,并调用方法使用对象..它的工作...我是Ruby的新来自Java ...调用一个像这样的本地方法有点冗长......我想.. – sarmahdi