1. ホーム
  2. generics

[解決済み] MIN および MAX マクロの Swift 対応版

2022-11-30 02:18:01

質問

C / Objective-Cでは、MINとMAXマクロを使用して、2つの数値の間の最小値と最大値を見つけることが可能です。Swiftはマクロをサポートしておらず、言語/ベースライブラリに同等のものがないように思われます。このようなジェネリックに基づいたカスタムソリューションを使用する必要があります。 1 ?

どのように解決するのですか?

min そして max はSwiftで定義されています。

func max<T : Comparable>(x: T, y: T, rest: T...) -> T
func min<T : Comparable>(x: T, y: T, rest: T...) -> T

といった具合に使用します。

let min = min(1, 2)
let max = max(1, 2)

に関するこの素晴らしい記事を参照してください。 Swift における文書化された組み込み関数と文書化されていない組み込み関数 .