加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Ruby哈希直接访问vs合并

发布时间:2020-12-17 03:45:07 所属栏目:百科 来源:网络整理
导读:之间有什么区别: @attr[:field] = new_value 和 @attr.merge(:field = new_value) 解决方法 如果你正在使用合并!而不是合并,没有区别. 唯一的区别是您可以在合并参数中使用多个字段(意思是:另一个哈希). 例: h1 = { "a" = 100,"b" = 200 } h2 = { "b" =
之间有什么区别:

@attr[:field] = new_value

@attr.merge(:field => new_value)

解决方法

如果你正在使用合并!而不是合并,没有区别.
唯一的区别是您可以在合并参数中使用多个字段(意思是:另一个哈希).

例:

h1 = { "a" => 100,"b" => 200 }
   h2 = { "b" => 254,"c" => 300 }
   h3 = h1.merge(h2)    
   puts h1         # => {"a" => 100,"b" => 200}
   puts h3         # => {"a"=>100,"b"=>254,"c"=>300}
   h1.merge!(h2)   
   puts h1         # => {"a"=>100,"c"=>300}

在分配单个值时,出于可读性原因,我宁愿h [:field] = new_val而不是合并,我想它比合并更快.

您还可以查看Hash-rdoc:http://ruby-doc.org/core/classes/Hash.html#M000759

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读