ruby – 如果密钥存在于哈希中,则更改哈希值

ruby – 如果密钥存在于哈希中,则更改哈希值,第1张

概述如果密钥存在于散列中,我试图改变散列的值.我有我的算法工作将它改为正确的值唯一的问题是它改变哈希中的所有值而不是我想要的值.我如何只更改哈希值中的某些值? 我尝试过hash.has_key?(key)方法,它仍然改变了我的所有值 if @hash.has_key?(k) @hash.select {|k,v| v.price = (v.price/100)}else print "Ke 如果密钥存在于散列中,我试图改变散列的值.我有我的算法工作将它改为正确的值唯一的问题是它改变哈希中的所有值而不是我想要的值.我如何只更改哈希值中的某些值?

我尝试过hash.has_key?(key)方法,它仍然改变了我的所有值

if @hash.has_key?(k)  @hash.select {|k,v| v.price = (v.price/100)}else   print "Key not found"end
解决方法 对象的has_key?不是你的问题……哈希#select遍历所有值.

这有两个选择:

@hash.select{|k,v| v.price /= 100 if k == key}

要么

if @hash.has_key?(key)  @hash[key].price /= 100else   print "Key not found"end
总结

以上是内存溢出为你收集整理的ruby – 如果密钥存在于哈希中,则更改哈希值全部内容,希望文章能够帮你解决ruby – 如果密钥存在于哈希中,则更改哈希值所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/langs/1283355.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-09
下一篇 2022-06-09

发表评论

登录后才能评论

评论列表(0条)

保存