新增 ruby。商品编号和数量

New with ruby. Id and quantity of item

我是 ruby 的新手,我正在尝试编辑在 ruby 中制作的其他脚本以弄清楚它是如何工作的。现在,我为此苦苦挣扎了好几天。我有一个带有下一个命令的脚本:

def has_card_in_deck?(id)
  actor = $game_actors[$game_variables[27]]
    for card in actor.deck
      return true if card.id == id
    end
  return false
end

这个 return 我如果演员牌组中有一张带有上述 ID 的卡片。它工作得很好。但是我试图用几乎完全相同的问题创建第二个命令,但我想确认是否有 2 张或更多该 ID 卡的副本,而不是 return me if there's a card with certain ID。我不知道如何询问对象“卡”的数量。我试着把 (* 2) 和 ID 放在一起,但是当然,这只会询问是否有一张卡片的 id 输入值是双倍的。

在数组中使用 #count。 例如,

nums = [1,2,2,3,4,5]
nums.count { |num| num == 2 }
=> 2
nums.count { |num| num >= 3 }
=> 3

所以你可以写一个has_at_least_2_cards?(id)

def has_at_least_2_cards?(id)
  actor = $game_actors[$game_variables[27]]
  actor.deck.count { |card| card.id == id } >= 2
end