我是 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
如果演員牌組中有一張具有上述 ID 的卡,這將回傳給我。它完美地作業。但是我嘗試使用幾乎完全正確的問題創建第二個命令,但是如果有具有特定 ID 的卡,我不想回傳我,而是想確認該 ID 卡是否有 2 個或更多副本。我不知道如何詢問物件“卡”的數量。我嘗試將 (* 2) 與 ID 放在一起,但當然,這只會詢問是否有一張卡片具有 id 輸入的 double 值。
uj5u.com熱心網友回復:
#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
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/460559.html
標籤:红宝石
