【问题标题】:Ruby how to add an element to element to hash that returns hash?Ruby如何将元素添加到返回散列的散列中?
【发布时间】:2014-03-04 19:04:44
【问题描述】:

我正在尝试使用 # 行代码来提高效率,所以我想结合以下两行代码:

my_hash["X"] = value
my_hash

如果我取出第二行,那么我的函数会返回错误的东西,因为它只会返回散列的一个元素。有没有办法将元素添加到将返回整个哈希的哈希中?提前致谢!

【问题讨论】:

    标签: ruby hash ruby-1.9.3 lines-of-code


    【解决方案1】:

    使用merge! 执行以下操作:

    my_hash.merge!("X" => value)
    

    【讨论】:

    • 大括号可以省略。
    • 没有。不是括号。大括号。
    【解决方案2】:

    tap 会将对象产生到一个块中,然后返回它:

    my_hash.tap { |h| h['X'] = value }
    

    请注意,为了减少代码行数而减少代码行数只会降低可读性和目的的清晰度,而很少会提高代码质量。

    【讨论】:

      【解决方案3】:
      my_hash.merge!( { 'X' => value } )
      

      【讨论】:

      • 没有...让我们一起走吧.. :-)
      • 只是不要一起跳过,手牵手。答案不是很好。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-11-24
      • 1970-01-01
      • 2012-02-20
      • 2017-09-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多