【问题标题】:using the eval function in the TI-Nspire math library使用 TI-Nspire 数学库中的 eval 函数
【发布时间】:2019-04-03 11:07:48
【问题描述】:

我正在尝试了解如何通过 Lua 使用 TI-Nspire CAS 系统。我正在尝试模仿 solve(x+5/3,x) TI-Nspire CX CAS gui 中的功能。

我查看了此处找到的 API 文档:https://education.ti.com/download/en/ed-tech/59108CCE54484B76AF68879C217D47B2/7EFB09CED41C4190AFF8F60283B6727A/TI-NspireLuaScriptingAPIReferenceGuide.pdf

我相信我正在寻找的是第 51 页上的 eval 函数,尽管我无法在网上找到太多可供选择的样本。提供的例子并不具体。

math.eval(math_expression) --apilevel = 2.0
math.eval(math_expression, [exact]) --apilevel = 1.0
local expr = "f1("..mx")"
return math.eval(expr)

我试过了

require "math"
local answer
answer = math.eval("f1(x+3/4,x)")
answer = math.eval(x+3/4,x)
answer = math.eval("5+9")

我不断收到错误“无法在初始化期间执行。”

1) 你如何修复错误

2) 可以给我一些使用函数的具体例子吗

【问题讨论】:

  • 我认为@Piglet 有答案——但在测试时——尽可能使用最简单的例子。那就是使用answer = math.eval("5+9")。也不要期望太高。 Lua API ......嗯......在“使用表达式”部门并不十分丰富。

标签: lua ti-nspire


【解决方案1】:

来自TI-Nspire Lua Scripting API Reference Manual 12.1 math.eval:

警告

math.eval 在脚本初始化期间不可用

为避免此错误,请不要在脚本初始化之前调用该函数。

【讨论】:

  • 初始化脚本是什么意思,你是怎么做的?
  • @MaxNova 我不知道。我在手册中找不到任何内容。我想你必须先运行一些其他功能。由于 TI-Nspire 是一种商业产品,我建议您向他们的支持寻求帮助。 TI 的支持通常非常好。
【解决方案2】:

这行得通!

function on.paint(gc)
    local var1
    var1 = math.eval("nsolve(x+4=8,x)")
    gc:drawString(var1, 2, 20)
end

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多