片側範囲
スライスに使う終端のない範囲を表現します。
「片側範囲」はCoddyKit上の無料Swift Academyレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはSwift Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Swift Academyコースには全4レッスンが含まれています。
片側範囲とは
片側範囲は、一方の境界を省略した範囲です。コレクションを、ある位置から末尾まで、または先頭からある位置まで切り出すときによく使います。
let letters = ["a", "b", "c", "d", "e"]
let tail = letters[2...]
print(Array(tail))あるインデックスから末尾まで
arr[2...] は「インデックス 2 から末尾まで」を意味します。開始インデックスは含まれます。
let nums = [10, 20, 30, 40]
print(Array(nums[1...]))あるインデックスまで
arr[..<3] は「先頭からインデックス 3 の手前まで」を意味します。
let nums = [10, 20, 30, 40]
print(Array(nums[..<3]))あるインデックスを含む範囲
arr[...2] は「先頭からインデックス 2 まで」を意味し、インデックス 2 も含みます。
let nums = [10, 20, 30, 40]
print(Array(nums[...2]))スライスはインデックスを共有する
スライスは元のインデックスを保持します。arr[2...] の最初の要素も 0 ではなく、インデックス 2 にあります。
let nums = [10, 20, 30, 40]
let slice = nums[2...]
print(slice.startIndex)
print(slice[2])スライスを変換する
インデックスを 0 から振り直したり、独立した配列を取得したりするには、スライスを Array(...) でラップしてください。
let nums = [10, 20, 30, 40]
let rest = Array(nums[1...])
print(rest[0])パターンマッチングでの片側範囲
片側範囲は switch のパターンとしても使えます。case 18... は 18 以上の値に一致します。
let age = 70
switch age {
case ..<18:
print("Minor")
case 18...:
print("Adult")
default:
print("?")
}下限側の片側パターン
case ..<0 は 0 未満のすべての値に一致するため、負の値を検出するのに便利です。
let value = -3
switch value {
case ..<0:
print("negative")
case 0:
print("zero")
default:
print("positive")
}文字列の先頭部分
片側範囲は、文字列のインデックスと組み合わせることで、文字列の切り出しにも使えます。ここではスライスを使って最初の文字を取り除いています。
let word = "Swift"
let chars = Array(word)
let rest = chars[1...]
print(String(rest))スライスの組み合わせ
2つの片側スライスを使うと、配列の先頭部分と末尾部分を取得できます。
let data = [1, 2, 3, 4, 5, 6]
let head = Array(data[..<2])
let tail = Array(data[4...])
print(head)
print(tail)安全なスライス
境界を超えてスライスするとクラッシュするため、入力から取得したインデックスを使う場合は、先に範囲内か確認してください。
let nums = [1, 2, 3]
let start = 1
if start < nums.count {
print(Array(nums[start...]))
}確認問題
片側範囲を試してみましょう。
まとめ:片側範囲
arr[2...]、arr[..<3]、arr[...2] のような片側範囲を使うと、ある位置から、またはある位置までスライスできます。スライスは元のインデックスを保持するため、インデックスを振り直すには Array(...) を使用してください。片側範囲は switch のパターンとしても使えます。
let a = [1, 2, 3, 4]
print(Array(a[2...]))よくある質問
「片側範囲」レッスンは無料ですか?
はい。「片側範囲」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Swift Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Swift Academyコースには全4レッスンが含まれています。
「片側範囲」で何を学びますか?
スライスに使う終端のない範囲を表現します。 ブラウザで直接実行するハンズオンコードでSwift Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Swift Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのSwift Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。
「片側範囲」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このSwift Academyレッスンでコードを書いて実行できますか?
はい。すべてのSwift Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。