我有一个 nspire 计算器,在编写了一个哈希表实现之后,我发现 BASIC 环境是一个非常令人反感的编程环境。不幸的是,据我所知,使用 Lua 编写库是不可能的。
我确实看到在 Lua 接口的某处可以检测到变量更改,因此可能在文件中使用 Lua 函数,但我担心如果在外部使用它会超出范围。
有一个更好的方法吗?
为 TI-Nspire 编写 Lua 库并非不可能。您可以将库代码放入字符串中,将其作为变量存储在 TI-Basic 中,然后将文件放入 MyLibs 文件夹中。然后,当您要加载库时,请执行loadstring(var.recall("libfilename/programstring"))()
. 这会将库的代码作为字符串从该文件加载,编译它(使用 loadstring),并执行它(实际上与 相同require
)。
此外,关于使用 TI-Basic 控制 Lua 脚本,取决于您想要做什么,您可以使用math.eval("<some TI-Basic code>")
. 这将执行 TI-Basic 中的代码,并将结果作为 Lua 值(或字符串)返回。这样,您可以每隔一段时间调用一次 TI-Basic 函数,并根据其输出进行操作。