如何删除哈希数组中的键值并返回nil?

时间:2019-06-29 19:13:13

标签: arrays ruby

我从一个星期前开始学习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

我还能尝试什么?

0 个答案:

没有答案