我尝试将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])
答案 0 :(得分:3)
修改
cards.append(k1:k,k2:rotate(k))
阅读
cards.append(KSet(k1:k,k2:rotate(k)))
答案 1 :(得分:0)
您应该这样插入标签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)