首页 > 解决方案 > 如何在 ruby​​ 的对象数组中插入一个对象?

问题描述

我需要在数组中打印 uniq 结果。为了测试这一点,我需要在我的数组中插入一个对象。

array = [#<Card id: 394034, cards_config_id: nil>, #<Card id: 394033, cards_config_id: nil>,#<Card id: 394032, cards_config_id: nil>, #<Card id: 394035, cards_config_id: nil>]

我需要插入另一个Card对象来测试唯一性。像这样的东西array.uniq &:id

我知道这是错误的,但我怎样才能做到这一点?

array << Card id:394034, cards_config_id: nil>

标签: arraysrubyobjecttestinginsert

解决方案


您可以简单地执行以下操作,

array = [#<Card id: 394034, cards_config_id: nil>, #<Card id: 394033, cards_config_id: nil>,#<Card id: 394032, cards_config_id: nil>, #<Card id: 394035, cards_config_id: nil>]


array = array | [#<Card id: 394034, cards_config_id: nil>]

您也可以使用设置

require 'set'

set = Set[#<Card id: 394034, cards_config_id: nil>, #<Card id: 394033, cards_config_id: nil>,#<Card id: 394032, cards_config_id: nil>, #<Card id: 394035, cards_config_id: nil>]

set.add(#<Card id: 394034, cards_config_id: nil>)

不允许set重复


推荐阅读