Lua的值没有改变?

我在一个叫做ROBLOX的在线游戏中使用非常简单的Lua脚本。我的问题是脚本中的值没有改变!例如:

num = 0
while true do
    num = num + 1
    print(num)
    wait(1)
end

这应该从0开始计数,但数字不会改变。这可能是由于ROBLOX网站吗?我无法想出其他可能原因。

原文链接 https://stackoverflow.com/questions/562292

点赞
stackoverflow用户33252
stackoverflow用户33252

以下是翻译成中文并保留原markdown格式的内容:

发生了什么事情?

local num = 0
while true do
    num = num + 1
    print(num)
    wait(1)
end

也许系统中的另一部分正在更改全局变量num

2009-02-18 18:35:02
stackoverflow用户30470
stackoverflow用户30470

我刚把你的代码放到 Lua 演示中心,在删除 wait() 函数调用的情况下它可以正常工作。我猜你在某处定义了这个函数?

2009-02-19 15:37:15
stackoverflow用户419090
stackoverflow用户419090

将下面翻译成中文并且保留原本的 markdown 格式

There is nothing wrong with the code. You must be running it wrong. Also, wait is a function defined in the Roblox API. It is legit.

代码没有问题。你可能是在错误的情况下运行它。此外,wait是 Roblox API 中定义的函数。它是合法的。

2010-11-19 04:10:42
stackoverflow用户1870451
stackoverflow用户1870451

你的代码没有错误。如果你在使用 ROBLOX,那么我不确定你如何运行它出错了,因为它是一个相当简单的界面。我会在 ROBLOX 上尝试它,看看它是否会出错。

对于那些想知道 wait(): 的人,它是 ROBLOX 特定的全局函数,可以暂停当前任务的时间(括号内为秒)。

2010-11-22 20:12:48
stackoverflow用户3979429
stackoverflow用户3979429

尝试一下:

local num = 0                -- 定义变量 num,并且赋初值为 0
while true do                -- 进入循环,条件始终为真(无限循环)
    num = num + 1            -- num 自增 1
    print(num)              -- 输出 num 的值
    print(type(num))        -- 输出 num 的数据类型
    wait(1)                 -- 等待 1 秒钟后再进行下一次循环
end
2015-02-23 03:23:04