gpt4 book ai didi

Ruby 从哈希表中弹出一个元素?

转载 作者:数据小太阳 更新时间:2023-10-29 08:45:19 25 4
gpt4 key购买 nike

我正在查看 http://ruby-doc.org/core-1.9.3/Hash.html而且似乎没有 pop 方法?我想我错过了一些东西......

if (x = d['a']) != nil
d.delete('a')
end

最佳答案

如果知道key,直接delete就可以了如果散列不包含 key ,您将返回 nil,否则您将获得存储在那里的任何内容

来自您链接到的文档:

h = { "a" => 100, "b" => 200 }
h.delete("a") #=> 100
h.delete("z") #=> nil
h.delete("z") { |el| "#{el} not found" } #=> "z not found"

还有一种删除并返回键值对的shift:

hsh = Hash.new

hsh['bb'] = 42
hsh['aa'] = 23
hsh['cc'] = 65

p hsh.shift

=> ["bb", 42]

可以看出,哈希的顺序是插入的顺序,而不是键或值。来自文档

Hashes enumerate their values in the order that the corresponding keys were inserted.

关于Ruby 从哈希表中弹出一个元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30250690/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com