Pebble Coding

プログラマーの作業メモ

swiftでIntをBoolに変換するときの注意

swiftでIntをBoolに変換するときの注意

これはコンパイルOK

let a:Int = 1
let b:Bool = (a != 0)

これはコンパイルエラー
aの後ろにスペースを空けないと、a!だとみなされてしまう。

let a:Int = 1
let b:Bool = (a!=0)
// Operand of postfix '!' should have optional type; type is 'Int'

これはコンパイルエラー

let a:Int? = 1
let b:Bool = (a!=0)
 // Cannot assign to the result of this expression

とりあえずコンパイルエラーになるので安全っぽいけど、スペース空けなきゃいけないのがCに慣れてると違和感。