60

入力された数値の配列がありますInt

この配列をループして、各数値が奇数か偶数かを判断したいと思います。

Swiftで数値が奇数か偶数かを判断するにはどうすればよいですか?

4

5 に答える 5

15

Swift 5 では、この機能isMultiple(of:)BinaryIntegerプロトコルに追加されています。

let even = binaryInteger.isMultiple(of: 2) 
let odd = !binaryInteger.isMultiple(of: 2)

この関数は%奇数/偶数チェックの代わりに使用できます。


この機能は、Swift Evolution プロセスによって追加されました。

特に、isEvenisOddが提案されましたが、同じレビューで受け入れられませんでした:

が追加されたことを考えるとisMultiple(of:)、コア チームはそれを感じてisEvenおりisOddisMultiple(of: 2).

したがって、提案は修正して受け入れられますisMultiple(of:)受け入れられますがisEvenisOdd拒否されます。

必要に応じて、これらのメソッドは拡張によって簡単に追加できます。

extension BinaryInteger {
    var isEven: Bool { isMultiple(of: 2) }
    var isOdd:  Bool { !isEven }
}
于 2020-05-16T23:18:55.223 に答える