将更多转换单位添加到现有转换的苹果 类

Add more conversion units to existing apple classes of conversion

是否可以向现有的苹果 class 转换添加更多转换单位?

https://developer.apple.com/documentation/foundation/unittemperature 在上面 link Rankine 不可用。如何 customize/extend 这个 class 并添加 Rankine ?

PS。朗肯样本公式为: 5°C × 9/5 + 491.67 = 500.67°R

PPS。打算这样用

let celsius = Measurement(value: 4, unit: UnitTemperature.celsius)
let kelvins = celsius.converted(to: UnitTemperature.kelvin)
print(kelvins)

TIA

只需按照 Dimension 中的文档,它是 UnitTemperature 的超类。

UnitTemperature 的基本单位是开尔文。所以我只需要查找将朗肯转换为开尔文的公式,它只是一个线性系数 (degreesKelvin = degressRakine * 5/9),并将其代入:

extension UnitTemperature {
    static var rankine = UnitTemperature(
        symbol: "°R",
        converter: UnitConverterLinear(coefficient: 5/9)
    )
}

let celsius = Measurement(value: 5, unit: UnitTemperature.celsius)
let rankin = celsius.converted(to: .rankine)
print(rankin) // => 500.66999999999996 °R