我想創建一個由多個套裝組成的套牌。但是,可能只有一些西裝可用。
因此,我創建了一個函數validCards() -> [Card]
,它應該從卡組中挑選10張有效牌並將它們作爲一組牌返回。swift3參數outside repeat-while循環
func validCards() -> [Card] {
let availableSuits: [String] = ["Diamond"]
let deck: [Card] = Card.deck()
var validDeck: [Card] = []
for i in 0...10 {
repeat {
let (card, index) = deck.randomElement()
} while !availableSuits.contains(card.suit) "|ERROR: Use of unresolved identifier card"
validDeck.append(card) "|ERROR: Use of unresolved identifier card"
}
return validDeck
}
唯一可能的原因是在8號線和9中的錯誤(據我所知)是變量是repeat {}
內部本地: 它通過重複挑一張牌,直到它是有效的做到這一點循環。
然而,迅速不讓我簡單地寫public var
,它拋出一個錯誤「屬性市民只能在非本地範圍應用。
有人能幫助我嗎? 非常感謝提前, Narusan
PS:我有一個結構,它定義Card
,它工作完全正常,也是陣列擴展randomElement
作品
'讓(卡索引)'是'裏面塊repeat'所以它不是可用的外塊,你需要一個像'變種重複塊(卡索引)之前聲明元組:( Card,Int)' –
另外它看起來像'suit'是String屬性,所以你需要使用包含'availableSuits'數組的。 –
是的,我也注意到了。非常感謝 – Narusan