Lua Others可以很好地运行我的代码,但是我遇到了错误?

时间:2015-07-08 01:16:52

标签: variables printing io lua garrys-mod

我有一个Lua脚本,我一直试图开始工作。这是我的第一个Lua脚本。我让其他人运行我的代码,它对他们来说非常好。但是,当我尝试在任何地方运行它(我尝试在Ideone.com,codepad.com,lExecutor,Garry的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

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:2)

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

Demo on Ideone,请注意 stdin 部分。