Skip to content

Instantly share code, notes, and snippets.

@harry830622
Last active February 27, 2022 06:31
Show Gist options
  • Select an option

  • Save harry830622/884ddff04d19be3be670fa8495aba98e to your computer and use it in GitHub Desktop.

Select an option

Save harry830622/884ddff04d19be3be670fa8495aba98e to your computer and use it in GitHub Desktop.
// Play 就是一個精彩好球,比如說 LBJ 的 The block,
// 所有的卡片只會包含一個 play,
// 但同一個 play 可以被很多卡片或是系列包含
pub struct Play {
// 每個 play 會有一個獨特的 ID 表示
pub let playID: UInt32
// 每個 play 也會有相應的 metadata,
// 這裡的儲存方式是使用一個 string -> string 的 map
// 用 key value pairs 代表每個 metadata 屬性的名字及值
// 例如 "playerName" -> "LeBron James"
pub let metadata: {String: String}
// 創建 struct 時候的初始化 function
// 主要就是初始化上述提到的那些 variables
init(metadata: {String: String}) {
pre {
metadata.length != 0: "New Play metadata cannot be empty"
}
self.playID = TopShot.nextPlayID
self.metadata = metadata
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment