如何在 Swift 中初始化包含枚举数组的结构数组?

How can I initialize an array of structs containing enum arrays in Swift?

我试图将 Pascal 程序翻译成包含嵌套数据结构的 Swift 程序。我无法初始化数组,请指教我应该如何编写这个示例。

enum  KW: Int {case XXXX=0,YYYY,ZZZZ}
let numCards = 49
typealias Card = [KW]

struct KSet {
    var k1: Card
    var k2: Card
}

var cards: [KSet] = []

func rotate(k:Card) -> Card {
    return([k[2],k[0],k[3],k[1]])
}

func initOne(k: Card) {

     cards.append(k1:k,k2:rotate(k))   // <– does not compile
}

initOne([.XXXX, .YYYY, .ZZZZ, .XXXX])

修改

cards.append(k1:k,k2:rotate(k))

阅读

cards.append(KSet(k1:k,k2:rotate(k)))

您应该像这样插入标签 k

cards.append(KSet(k1:k,k2:rotate(k: k)))

initOne(k: [.XXXX, .YYYY, .ZZZZ, .XXXX])

或者如果你想省略它,

func rotate(_ k:Card) -> Card

func initOne(_ k: Card)