Optional同士の比較演算はなぜできるのか? 自分も興味を持ったので、さっそく検証用に新しいPlaygroundを作成。Bool?型の変数を2つ用意して、等価演算と大小の比較演算をそれぞれ試してみます。 nilの可能性のある値同士で、等価演算(==, !=)はできるけど、大小の比較(<, >など)はエラーになる。直感的です。 ここまで確認して、noliliさんに返信します。 @nolili nilと等しいかどうかは判定できるから等価系の演算子(==, !=)は定義されている、って感じじゃないでしょうか。大小の比較はできないからエラーになります。 pic.twitter.com/JAHx2vvkJK — cocopon (@cocopon) March 20, 2015
![[Swift] Optional同士の比較演算の謎 - ここぽんのーと](https://cdn-ak-scissors.b.st-hatena.com/image/square/01771a3511944df8604c5d208955269ec25ddf13/height=288;version=1;width=512/https%3A%2F%2Fcocopon.me%2Fdata%2Fblog%2F2015%2F03%2Fswift-optional%2Fcomparable.png)