//: Playground - noun: a place where people can play
import UIKit
/************ 下標 ****************/
// 類, 結構體 , 枚舉 可以定義下標
// 下標可以傳入 多個不同類型的參數, 返回一個任意類型的數據
// 下標中 可以使用 get 和 set 模式(read-write 和 readOnly)
//subscript(index: Int) -> Int {
// get {
// // return an appropriate subscript value here
// return 3
// }
// set(newValue) {
// // perform a suitable setting action here
// }
//}
//subscript(index: Int) -> Int {
// // return an appropriate subscript value here
// return 3
//}
struct TimesTable {
let multiplier: Int
subscript(index: Int) -> Int {
return multiplier * index
}
}
let threeTimesTable = TimesTable(multiplier: 3)
print("six times three is \(threeTimesTable[6])")
// Prints "six times three is 18”
// 在集合中使用下標
var numberOfLegs = ["spider": 8, "ant": 6, "cat": 4]
numberOfLegs["bird"] = 2
//下面有個矩陣的例子
struct Matrix{
let rows: Int, columns: Int
var grid: [Double]
init(rows: Int, columns: Int) {
self.rows = rows
self.columns = columns
grid = Array(repeating: 0.0, count: rows * columns)
}
func indexIsValid(row: Int, column: Int) -> Bool{
return row >= 0 && row < rows && column >= 0 && column < columns
}
subscript(row: Int, column: Int) -> Double{
get {
assert(indexIsValid(row: row, column: column), "Index out of range")
return grid[(row * column) + column]
}
set {
assert(indexIsValid(row: row, column: column), "Index out of range")
grid[(row * column) + column] = newValue
}
}
}
var matrix = Matrix(rows: 2, columns: 2)
matrix[0,1] = 1.5
matrix[1,0] = 3.2
print(matrix[0,1])
print(matrix[1,0])
swift - subscrip 下標
最后編輯于 :
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
- 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
- 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
- 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
推薦閱讀更多精彩內容
- 最近升級Xcode8后運行提示Swift版本錯誤,具體錯誤如下: “Use Legacy Swift Langua...
- 本章將會介紹 下標語法下標用法下標選項定義一個基類子類生成重寫防止重寫 下標 下標可以定義在類、結構體和枚舉中,是...
- 1. 類 Swift中的結構體和類非常相似,但是又有不同之處類是具有相同屬性、方法的抽象格式: 類沒有逐一構造器 ...