新增 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
我是 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