Avatar
omochimetaru 1/31/2020 5:15 AM
func fifth<C: Collection>(_ c: C) -> C.Element? { return c[.first + 4] } let array = [1,2,3,4,5,6,7,8,9] print(fifth(array)!) // 5 print(fifth(array[2...])!) // 7
5:16 AM
fifth の中身では .first + 4 という形で 「4番目」と書いてるけど、
5:16 AM
ちゃんと array でも array[2...] でも、「4番目」が得られてる。
5:17 AM
ArraySlice を 0スタートにすると Slice にならなくなる。 ArraySliceがSliceでありながら0スタートになるようにすると、 StringのSliceが作れなくなる。