Lua 其他人可以 运行 我的代码完全没问题,但我 运行 出错了?

Lua Others can run my code perfectly fine but I run into errors?

我有一个 Lua 脚本,我一直在努力让它开始工作。这是我的第一个 Lua 脚本。我让其他人 运行 我的代码,对他们来说工作得很好。但是,当我在任何地方尝试 运行 时(我已经在 Ideone.com、codepad.com、lExecutor、Garry 的 Mod 等中尝试 运行ning),我得到了同样的错误信息。错误信息是'Attempt to compare nil with number',在第4行。如果有帮助,我的OS是windows 7.我的代码在下面,请大家测试一下是否有效.如果可能的话,还请说明您曾经 运行 它是否有效。基本上它的意思是会出现一个输入框,用户必须输入他们的年龄。如果年龄大于或小于 12 岁,它会说你太 old/young,如果年龄是 12 岁,它会说 'Welcome, son!'.

io.write ("Enter your age:")
age = io.read()
age = tonumber(age)
if age < 12 then
  print ("O noes, you are too young!")
elseif age > 12 then
  print ("O noes, you are too old!")
else
  print ("Welcome, son!")
end

io.read() 从标准输入读取,因此如果您在命令行上 运行 您的脚本,它将起作用。就是这样,它打不开输入框。在您尝试 运行 您的代码的那种环境中,没有标准输入,因此年龄永远不会分配给任何东西,您会收到错误。

代码本身没问题。问题是,如果你在像 Ideone 这样的网站上尝试,你必须明确提供输入,否则 age 没有输入,所以它的值为 nil,导致错误。

Demo on Ideone,注意 stdin 部分。