【问题标题】:Execute Lua script执行 Lua 脚本
【发布时间】:2016-03-11 15:06:56
【问题描述】:

我正在尝试执行 Lua 脚本,该脚本位于以下链接:https://github.com/chris-allnutt/unit-tested-corona

我正在执行的命令是:lua main.lua

我收到这条消息:

lua: main.lua:3: attempt to index global 'display' (a nil value)
stack traceback:
    main.lua:3: in main chunk
    [C]: ?

我的错误是什么(我使用的是 Lubuntu 14.04)

提前致谢!

【问题讨论】:

    标签: lua coronasdk


    【解决方案1】:

    您收到此错误,因为这是 Corona SDK 的脚本,因此您需要从 Corona SDK 模拟器运行它,因为它定义了 display 和脚本中使用的一些其他对象。当您使用“普通” Lua 解释器运行它时,这些对象不是由它定义的(因为它们是由 Corona 模拟器定义的),因此您会收到有关索引 nil 值的错误。

    【讨论】:

    • 但是 README.md 说:“你不需要 Corona SDK 来运行它。”
    • @EgorSkriptunoff,这是因为test.lua (display = require('mocks.display')) 中使用了一个模拟对象,但main.lua 是一个独立文件,不使用任何模拟。这需要在 Corona 模拟器下运行,或者只需要从 test.lua 使用,它为脚本运行提供了几个模拟。
    【解决方案2】:

    您是否阅读了该页面上的the documentation?您正在尝试直接运行演示电晕脚本,而不是在破坏的测试脚本上运行 busted

    你想运行busted test.lua

    【讨论】:

    • 我已经这样做了!我也想运行脚本。我正在学习 Lua,我想探索一下这段代码。
    • 这就是为什么我想了解为什么它没有用我尝试的命令执行。
    • 你不能只运行它。它不是股票lua。这是电晕代码。您将其作为电晕应用程序(或其他)运行。如果这是您的实际问题,您并没有很清楚地表明这一点。
    猜你喜欢
    • 2018-02-24
    • 2019-10-28
    • 2013-06-24
    • 1970-01-01
    • 2018-12-28
    • 2016-07-29
    • 1970-01-01
    • 2014-11-05
    • 2015-07-04
    相关资源
    最近更新 更多