前回から オプショナル
を実際に使っていくための機能と安全性をにらんだ言語サポートについて眺めはじめましたけれど、その中で「すべてのインスタンスが nil
と比較可能」な場面に出会い、それがなかなか気になりました。おおよその様子は前回に話をしていて掴めたものの、どこか気になるところもあり、オプショナルの特質を窺う機会にもなりそうなので、今回は改めてそのあたりを眺めてみてから、本題の続きに移っていこうと思います。よろしくお願いしますね。
———————————————————————————————————————————————————— 熊谷さんのやさしい Swift 勉強会 #147
00:00 開始 00:18 今回の展望 01:12 非オプショナルな値と nil とを比較可能 03:23 非オプショナルと nil を比較できるのは自然にも感じる 07:04 辻褄を合わせるように実装されている印象 07:55 サブタイプとは 09:35 等価比較演算子の定義を探してみる 11:23 Never に対する等価比較? 11:51 オプショナル型に関する等価比較演算子 12:13 なぜ _OptionalNilComparisonType が対象の等価演算子が呼ばれるのか 15:26 型推論によって _OptionalNilComparisonType が選ばれる 20:43 NSObject は Equatable に準拠 24:38 全ての型を nil と比較できるようにするための策 26:43 全ての型を nil と比較できる必要性は? 27:49 クロージング ————————————————————————————————————————————————————