一个用于转换和解释烹饪中常用度量单位的框架。
该框架由多个协议组成,这些协议定义了特定的类型和行为。
组件协议:
Descriptive:描述和分类元素的属性。Multimedia:用于与元素图像交互的协议。Proportioned:指示体积重量比的参数。Quantifiable:指示“度量单位”的参数。Sequenced:描述元素顺序的属性。Unique:确定元素唯一性所需的属性。集合协议:
Ingredient:代表任何原材料/配料FormulaElement:某些 Ingredient 或 Recipe 的度量单位。ProcedureElement:Recipe 制备过程中的一个步骤。Recipe:度量单位和步骤的汇编。Fraction:常用分数 (¼, ½, ⅔, 等)Integral:常用的整数值,用于快速输入。MeasurementMethod:对事物可以被度量的方式的表示。MeasurementSystem:用于度量的系统的类型(美制,公制)MeasurementSystemMethod:度量“系统”和“方法”的组合表示。理解 Ingredient 的体积重量比是精确缩放和转换的关键。例如,水的比例为 1:1,意味着 1 盎司(或克)等于 1 液量盎司(或毫升)。而通用(普通)面粉的体积比重量大;比例为 1.882:1。
此比例允许将配料的任何度量单位转换为另一个系统。例如,可以将汤匙、杯和磅转换为克或毫升(反之亦然)。
配方是特定 Recipe 的已度量 Ingredients(或其他 Recipes)的集合。一个简单的意大利面包的配方如下:
以上配料可以制作一个大面包或两个小面包,总重 702.5 克。但是,如果您想要 5 个小面包呢?这就是 缩放 Recipe 的用武之地。
let recipe: Recipe
let scaledFormula: [FormulaElement] = recipe.scale(by: 2.5)
// 4.5 kg Flour
// 70 g Yeast
// 70 g Salt
// 2388 mL Water
MiseEnPlace 使用 Swift Package Manager 分发。要将其安装到项目中,请将其作为依赖项添加到您的 Package.swift 清单中,或通过 Xcode 添加。
let package = Package(
…
dependencies: [
.package(url: "https://github.com/richardpiazza/MiseEnPlace.git", .upToNextMajor(from: "6.0.0"))
],
…
)
然后在任何您想使用它的地方导入 MiseEnPlace
import MiseEnPlace