两个相关量的比率,表示为每个分母单位的分子单位量。
此功能在Flight School Guide to Swift Numbers的第 5 章中讨论。
将 Rate 包添加到 Package.swift 中你的目标依赖项
import PackageDescription
let package = Package(
name: "YourProject",
dependencies: [
.package(
url: "https://github.com/Flight-School/Rate",
from: "1.0.0"
),
]
)
然后运行 swift build 命令来构建你的项目。
要使用 Carthage 在你的 Xcode 项目中使用 Rate,请在 Cartfile 中指定它
github "Flight-School/Rate" ~> 1.0.0
然后运行 carthage update 命令来构建框架,并将构建的 Rate.framework 拖到你的 Xcode 项目中。
Foundation Unit 和 Measurement API 的缺点之一是无法动态声明复合单位。 这使得执行量纲分析和其他多步计算变得困难。
Rate 结构允许你以类型安全的方式表达两个单位之间的比率。 将具有一种单位类型的测量值乘以一个分母是相同单位类型的速率,会导致这些类型相互抵消,从而产生一个具有分子类型的测量值。
例如,体积除以时间乘以时间会产生体积
let flowRate = Rate<UnitVolume, UnitDuration>(value: 84760,
unit: .cubicFeet,
per: .seconds)
let oneDay = Measurement<UnitDuration>(value: 24, unit: .hours)
(flowRate * oneDay).converted(to: .megaliters) // 207371ML
MIT
Mattt (@mattt)