首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在DDMathParser (Swift)中定义自定义函数

在DDMathParser (Swift)中定义自定义函数
EN

Stack Overflow用户
提问于 2016-03-18 14:36:17
回答 1查看 189关注 0票数 0

我试图通过内置到DDMathParser中的机制在Swift中定义和格式化自定义函数。我试过遵循Wiki上的说明,但是对于对于Swift编码相对较新的人来说,还没有足够的细节。我要创建的函数将被称为"dsi“,并将调用已经内置的函数sin()和dtor(),类似于: sin(dtor())。

有什么建议吗?

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-03-20 20:29:26

可以找到一个声明自定义函数的示例在DDMathParser的单元测试中,我将在这里介绍该示例:

代码语言:javascript
复制
func testCustomFunction() {
    let function = Function(name: "foo", evaluator: { (args, subs, eval) throws -> Double in
        return 42
    })

    let eval = Evaluator()
    guard XCTAssertNoThrows(try eval.registerFunction(function)) else { return }
    guard let e = XCTAssertNoThrows(try Expression(string: "foo()")) else { return }
    guard let d = XCTAssertNoThrows(try eval.evaluate(e)) else { return }
    XCTAssertEqual(d, 42)
}

显然,您希望提供传递给Function构造函数的评估块的不同实现。

顺便提一句,您是否知道DDMathParser支持您正在描述的确切情况?Evaluator对象具有angleMeasurementMode属性。默认值是.Radians如果您创建自己的评估器

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36087111

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档