0
に変数バインディングの後、私は(Xcodeの8.0で)スウィフト3.0から素敵なガード文を使用して、以下の機能を持っています:条件ガード迅速なコンパイル問題
func parse(suffix s: String) throws -> Instruction {
guard let count = Int(s) where count >= 0 else {
throw InstructionParsingError(message: s + " should be a positive integer")
}
return CallInstruction(argCount: count)
}
私の問題は、迅速なコンパイラが約二倍不平を言うことです私のガード文を含む行:
CallInstruction.swift:42:29: Boolean condition requires 'where' to separate it from variable binding
CallInstruction.swift:42:30: Expected ',' joining parts of a multi-clause condition
は私が
- がを交換しようとしましたと
,
の場合、2番目のエラーは消えますが、最初のエラーはまだ残ります。 - と
where
を置き換えるが、このラインは偶数Int(s)
によりここにcount
を交換 - を構文解析が、同じ誤差を有することができません。
, where
コンパイルするにはどうすればよいですか? (ガードステートメントについては、もちろん、複数のガードを持つこともできますが、ifやswitchを使うこともできますが、ガードステートメントについて読んだところから、わかりやすい読み取り可能なラインを持つことができます)。
'ガードは聞かせて、カウント= INT(s)は、カウント> = /おそらくXcodeの8いくつかの目に見えないスウィフト3でコンパイルする必要があります0 else'スペースや制御文字をソースコード内で使用しますか? –
オハイオ州オクラホマ、私は交換後、すべてのエラーが消えた後、xcodeで私の製品をきれいにした。ありがとう! – jolivier