今回は再び脱線に戻って、お気に入りな技術ブログ「その Swift コード、こう書き換えてみないか」で紹介されている事例の続きを見ていきますね。今日に見ていくところは、このブログを見つけるきっかけにもなって以前に詳しく眺めた
Collectionの
countと
endIndex` の話から、続けて順に眺めていきますね。よろしくお願いします。
————————————————————————————————————————————— 熊谷さんのやさしい Swift 勉強会 #259
00:00 開始 00:10 今回の展望 01:04 count と endIndex は別物として扱う 03:17 インデックスは必ず Int 型 05:23 count の計算量 05:53 endIndex の計算量は⋯? 06:38 インデックスは必ずしも Int 型にはならない 07:06 インデックスは 0 から始まるとは限らない 07:41 最後の要素を取得したいとき 08:44 インデックスを取得するいくつかの方法 09:56 配列が空のときは、インデックスの範囲も空 11:46 配列が空ではないことを前提とする方法 13:04 幾つかのインデックスを取る方法を比較してみる 14:56 dropLast ではインデックスを取得できない 16:18 count を使った最終要素取得の妥当性 17:33 目的のインデックスを得る方法 19:33 count を使った正しい最終要素の取得方法 21:44 インデックスは扱いが面倒 22:48 インデックスが Int 型になっている型は、それを前提に扱っていくのも大切かも 23:47 文字列型に見るインデックスの扱い 25:13 文字列のインデックス自体を加減算できるようにはならない 27:06 インデックスについてのまとめ 27:58 コレクションが空かを判定する 28:45 要素が0個かではなく、空かを表現 32:21 count == 0 と isEmpty のどちらが速いか問題 33:48 isEmpty の実装コード 35:06 Collection の反復処理でインデックスを取得する方法 36:00 Swift Algorithms って、よく使う? 37:18 enumerated では offset が得られる 39:40 間違いを避けるために zip と indices を使う手もあり 40:37 繰返処理でインデックスを取得する方法についての所感 41:25 クロージングと次回の展望 —————————————————————————————————————————————