gpt4 book ai didi

Ruby - 更新哈希键以去除空格

转载 作者:太空宇宙 更新时间:2023-11-03 17:01:25 25 4
gpt4 key购买 nike

我想从我的散列中去除空格,所以如果我有

{"my hash key": 12}

我想得到

{"myhashkey": 12}

我找到了一些从值中剥离的方法,但在键上执行此操作时遇到了问题。当我尝试时

 my_hash.each_key{|k| k.gsub!(' ', '')}

我得到了错误:

RuntimeError: can't modify frozen String

如果仅使用 gsub(不带 '!')它运行良好,但不起作用。

那么实现这一目标的最佳方法是什么?谢谢!

最佳答案

散列中的键被卡住(如错误消息所述),因此无法就地修改它们。新哈希必须用新键构造:

{"my hash key" => 12}.map { |k, v| [k.delete(' '), v] }.to_h
#⇒ {"myhashkey"=>12}

注意!有一个陷阱:您可能会丢失一些值!

{"a b c" => 42, "abc" => :foo}.
map { |k, v| [k.delete(' '), v] }.to_h
#⇒ {"abc"=>:foo}

关于Ruby - 更新哈希键以去除空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50491591/

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