Swift下標
下標(Subscripts)
擴展可以向一個已有類型添加新下標。這個例子向Swift內建類型Int
添加了一個整型下標。該下標[n]
返回十進製數字從右向左數的第n個數字
- 123456789[0]返回9
- 123456789[1]返回8
...等等
extension Int {
subscript(digitIndex: Int) -> Int {
var decimalBase = 1
for _ in 1...digitIndex {
decimalBase *= 10
}
return (self / decimalBase) % 10
}
}
746381295[0]
// returns 5
746381295[1]
// returns 9
746381295[2]
// returns 2
746381295[8]
// returns 7
如果該Int
值冇有足夠的位數,即下標越界,那麼上述實現的下標會返回0,因為它會在數字左邊自動補0:
746381295[9]
//returns 0, 即等同於:
0746381295[9]