【发布时间】:2012-01-09 06:30:24
【问题描述】:
当它们在 ruby 中为 nil 时,是否有将事物分配给哈希的简写或最佳实践?例如,我的问题是我正在使用另一个哈希来构建它,如果其中的某些内容为 nil,它会将 nil 分配给该键,而不是仅仅将其单独放置。我理解为什么会发生这种情况,所以我的解决方案是:
hash1[:key] = hash2[:key] unless hash2[:key].nil?
因为我不能在键实际指向 nil 的 has 中有值。 (我宁愿有一个空的哈希而不是一个有 {:key => nil} 的,这是不可能的)
我的问题是有没有更好的方法来做到这一点?我不想在作业结束时执行 delete_if。
【问题讨论】:
-
您的解决方案对我来说看起来不错。如果你以整个循环为例,我敢肯定,有几种好方法可以把它变成一行。
标签: ruby-on-rails ruby hash ruby-1.9 null