速率

Build Status

两个相关量的比率,表示为每个分母单位的分子单位量。

此功能在Flight School Guide to Swift Numbers的第 5 章中讨论。

要求

安装

Swift Package Manager

将 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

要使用 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)