【发布时间】:2022-01-07 08:47:34
【问题描述】:
我想向下面的哈希添加值和删除值
h= {:a =>[ 1,3, 4],
:b =>[ 3, 6],
:c =>[ 4, 8, 87]
}
我如何只删除一个与键有关的值? 删除 c, 87
h= {:a =>[ 1,3, 4],
:b =>[ 3, 6],
:c =>[ 4, 8]
}
我可以在 ruby 中做到这一点吗?我是 ruby 新手,有人可以帮帮我吗?
【问题讨论】:
-
那些不是有效的 ruby 对象。也许你的意思是
{:a => [1,3,4]}?如果是这样,那么h[:c].delete_at(h[:c].index(87))就可以了。 -
甚至
h[:c].delete(87),具体取决于您希望如何处理数组中潜在的重复值。 -
感谢您的帮助。我收到此异常:nil:NilClass 的未定义方法“删除”,两种删除方式均使用 NoMethodError
-
“想像这样添加和删除” – 添加什么,删除什么?另外,请修复您的示例代码。
-
Holger 的代码应该适用于您。听起来您只是键入了错误的键或其他内容。请记住,如果您编写
h[:c].delete(87),您可能会确保h[:c]确实存在。