LoginSignup
19
15

More than 5 years have passed since last update.

メタファーで理解するSwift -Nil Coalescing Operator-

Posted at

私は"Nil Coalescing Operator"について説明するときに、マリー・アントワネットのメタファーを使う。

Nil Coalescing Operator は、
(a ?? b)と書き、a != nil ? a! : b のSyntaxSugarであるとされる。

Sugarと言えば砂糖。砂糖といえばお菓子。

かの有名なセリフは以下のコードで表すことが出来る。

var bread :Food?
let cake  :Food = Food(name: "brioche")
(bread ?? cake).eat() // パンが無ければお菓子を食べればいいじゃない!

蛇足

ちなみに個人的にはこの糖衣構文はやり過ぎではないかと思う。
ScalaのOption型のgetOrElse(defaultValue)の方が可読性の面で良い気がする。

Objective-Cは[]が多すぎてひかれる言語、Swiftは記号(!、?)が多すぎてひかれる言語、なんてことにならねば良いのだが。

19
15
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
19
15