ruby - 如果元素不存在,则将元素添加到数组中

标签 ruby

我有一个 Ruby 类

class MyClass
  attr_writer :item1, :item2
end

my_array = get_array_of_my_class() #my_array is an array of MyClass
unique_array_of_item1 = []

我想将 MyClass#item1 推送到 unique_array_of_item1,但前提是 unique_array_of_item1 不包含那个 item1 还。我知道一个简单的解决方案:只需遍历 my_array 并检查 unique_array_of_item1 是否已包含当前 item1

有没有更高效的解决方案?

最佳答案

@Coorasse有一个good answer ,虽然它应该是:

my_array | [item]

并就地更新my_array:

my_array |= [item]

关于ruby - 如果元素不存在,则将元素添加到数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14004325/

相关文章:

ruby - 单个 EventMachine react 器中的多个服务器

ruby - 如何将分配和散列的智能对齐添加到 emacs 中的缩进区域?

ruby-on-rails - 本地主机上的 rails 子域

ruby-on-rails - 无法安装 therubyracer gem

Ruby 模块和类

Ruby 参数计数规则

ruby - 同时替换2个字符串?

ruby-on-rails - Gitlab PUSH 语法错误,意外 ':' ,期待 $end

ruby-on-rails - spree Action require_login 在分配给 before_action 过滤器时创建重定向循环

ruby - 我可以通过 GH API 获取两次提交之间一个文件的差异数据吗?