富有表现力

此软件包的目的是对数学表达式进行建模。表达式可以是纯数字的,也可以包含变量,变量由字母字符串表示。

既然是 Swift,表达式可以使用数字和字符串字面量,通过常规的数学运算符连接起来编写,也可以从字符串中解析,或者混合这两种方法。

表达式的数值可以通过提供变量值的映射来计算,如果表达式中有变量的话。值可以是数值,也可以是其他表达式。

这使得程序可以将数学公式视为可以在程序中传递、动态读取或组合的数据。

表达式可以被简化。这并不是一个客观的转换,因此结果可能适合您的意图,也可能不适合。表达式可以提供其内容的符号正确的描述。

此软件包的目标

非目标

示例

let VIG: Expression = "VIG"
let NEX: Expression = "NEX"

let E1 = 16 + VIG + (3 + VIG) * (NEX - 5) / 5

let E2 = "16+VIG+(3+VIG)*(NEX-5)/5" as Expression

let E3 = "16 + VIG" as Expression + "(3 + VIG) * (NEX - 5) / 5"

XCTAssertEqual(E1, E2)
XCTAssertEqual(E1, E3)

许可证

除非另有说明,否则此软件包中的所有文件均为 NOTICE 文件中提及的软件包贡献者的版权所有,并根据 Apache 2.0 许可证 授权,该许可证允许商业用途。