駄文です
関数に渡されたInt型などの値が適正範囲内であるかをチェックする時、C言語的な文法に引きずられて
if 0 < number && number < 5 { ... }
などと書いたりしてないでしょうか?
Swiftでは見た目で何をしているかがすぐわかる記法が備わっています。
if (1...4).contains(number) { … }
if 1...4 ~= number { … }
(コメントで皆さんにより簡素でわかりやすい記法を教わりました)
if case 1...4 = number { ... }
誰がどう見ても 1, 2, 3, 4のいずれかですね。
数値が近くに並んであるのがいいです。
不等号の向きを見間違えたり打ち間違えたり、逆を取るときに && を || に変換し忘れたりなどの問題が起こりません。
@lovee さんのコメントも気になって調べて書いてみました。
稚拙だと思うのでGistのリンクだけ。
https://gist.github.com/anonymous/171deb51bfb85f045b22e2b76157cae5
ややこしくするなら
enum Number: Int {
case one = 1
case tow = 2
case three = 3
case four = 4
}
if let _ = Number(rawValue: number) { ... }
ですね!(ダメです)