我从一个星期前开始学习Ruby,在这个周末的家庭作业中,我需要捍卫一个已经进行过的测试的功能,该测试可以释放出一系列哈希值。
测试如下:
def test_remove_pet_by_name
remove_pet_by_name(@pet_shop, "Arthur")
pet = find_pet_by_name(@pet_shop,"Arthur")
assert_nil(pet)
end
我尝试了以下3种不同的选择,但仍然没有找到理想的选择。
def remove_pet_by_name(pet_shop, name)
return @pet_shop[:pets].delete_if {|x| x[:name] == "Arthur"}
end
def find_pet_by_name(pet_shop, name)
pet_shop[:pets].delete(find_pet_by_name(pet_shop, name))
end
以上两者都存在相同的错误,即未定义find_pet_by_name
def find_pet_by_name(pet_shop, name)
return @pet_shop[:pets].delete_if[:pets].find {|x| x[:name] == "Arthur"}
end
这是另一个错误,引用:
您的意思是remove_instance_variable
我还能尝试什么?