0

我有一个一直在努力工作的 Lua 脚本。这是我的第一个 Lua 脚本。我请其他人运行我的代码,这对他们来说非常好。但是,当我尝试在任何地方运行它时(我尝试在 Ideone.com、codepad.com、lExecutor、Garry's Mod 等中运行),我收到相同的错误消息。错误消息是“尝试将 nil 与数字进行比较”,它在第 4 行。如果有帮助,我的操作系统是 windows 7。我的代码在下面,我要求你们测试它是否有效。如果可能的话,如果它有效,还请说明你用来运行它的内容。基本上它的意思是会出现一个输入框,用户必须输入他们的年龄。如果年龄超过或低于 12,它会说你太老/太年轻,如果年龄是 12,它会说“欢迎,儿子!”。

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
4

2 回答 2

2

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

于 2015-07-08T01:25:38.710 回答
2

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

Demo on Ideone,注意标准输入部分。

于 2015-07-08T01:26:12.693 回答