【问题标题】:This program does not work from terminal but works in zerobrane该程序不能从终端运行,但可以在 zerobrane 运行
【发布时间】:2021-03-11 18:56:42
【问题描述】:
x = 10
io.write("Enter the name of the variable you want to be printed: ")
index = io.read()
f = loadstring("return " ..  index)
print(f())

上面的代码在终端中使用时会出现此错误,但在 zerobrane studio 中运行时不会出现此错误

main.lua:874: attempt to call a nil value (global 'loadstring') 
stack traceback: 
    main.lua:874: in main chunk [C]: in ? 

这很重要,因为我在 emacs 中编写 lua。 我该如何纠正这个问题?需要帮助。

【问题讨论】:

  • 描述它是如何工作的。输入内容后它会关闭吗?
  • 它给出了这个错误,它不会在 zerobrane 中退出:“lua: main.lua:874: 尝试调用一个 nil 值(全局'loadstring')堆栈回溯:main.lua:874: in主块 [C]: in ?"
  • 您从终端使用的 Lua 可能是 Lua 5.3 或更高版本。 loadstring 在 Lua 5.2 中被弃用并在 5.3 中被删除。使用 lua -v 验证您的版本
  • Lua 5.3.3。非常感谢。

标签: terminal lua emacs zerobrane


【解决方案1】:

您的 Lua 终端版本高于 ZeroBrane 中的 Lua。

Lua 5.3 删除了loadstring,它现在以load 存在。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-09-12
    • 1970-01-01
    • 2013-11-26
    • 1970-01-01
    • 2012-02-20
    • 2021-04-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多