1
如果我有:這for循環是不願意傳球,沒有方法錯誤
@pet_shop = {
pets: [
{
name: "Sir Percy",
pet_type: :cat,
breed: "British Shorthair",
price: 500
},
{
name: "King Bagdemagus",
pet_type: :cat,
breed: "British Shorthair",
price: 500
}
]
}
我需要返回的寵物,如果我給它的「名」的功能,所以我有:
def find_pet_by_name(pet_shop, name)
for pet in pet_shop[:pets]
if pet[:name] == name
return pet
else return nil
end
end
end
但是這沒有通過測試。我得到:
NoMethodError: undefined method `[]' for nil:NilClass
這是一個這麼簡單的函數,我不知道爲什麼它不通過。
你能指定這個錯誤與哪一行有關嗎? 你還可以提供你調用find_pet_by_name的代碼嗎? – sokkyoku