0
在Ruby中工作,我得到一個錯誤說未定義的局部變量或方法「食物」
'add': undefined local variable or method 'food' for #<FoodDB:...
這是我試圖運行
require_relative 'FoodDB.rb'
class Manager
def initialize
food = FoodDB.new
self.create_foodDB(food)
end
def create_foodDB(food)
counter = 1
word = []
file = File.new("FoodDB.txt","r")
while (line = file.gets)
food.addFood(line)
counter = counter + 1
end
file.close
end
end
manager = Manager.new
input_stream = $stdin
input_stream.each_line do |line|
line = line.chomp
if line == "quit"
input_stream.close
end
end
這是FoodDB代碼。 rb的代碼
class FoodDB
def initialize
food = []
end
def addFood(str)
food.push(str)
end
end
我不確定是什麼問題,因爲它似乎我肯定從FoodDB類調用正確的方法。所有的幫助表示感謝,謝謝!
可否請您提供錯誤代碼行? – Pavel
順便說一下,Ruby中的約定是爲類和'snake_case'使用'CamelCase'作爲常量,變量和方法名稱。 –
其他一些觀察:1.'self.create_foodDB(食物)'可以寫成'create_foodDB(食物)'; 2.在'create_foodDB()'中,'counter'和'word'不被使用;和3.你可以寫'如果line.chomp =='退出''並刪除前一行。 –