我試圖運行這樣的代碼:在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