Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Variables Lua其他人可以很好地运行我的代码,但我遇到了错误?_Variables_Printing_Io_Lua_Garrys Mod - Fatal编程技术网

Variables Lua其他人可以很好地运行我的代码,但我遇到了错误?

Variables Lua其他人可以很好地运行我的代码,但我遇到了错误?,variables,printing,io,lua,garrys-mod,Variables,Printing,Io,Lua,Garrys Mod,我有一个Lua脚本,我一直在努力工作。这是我的第一个Lua脚本。我请其他人运行我的代码,对他们来说效果非常好。然而,当我尝试在任何地方运行它时(我尝试在Ideone.com、codepad.com、lExecutor、Garry的Mod等中运行),我会收到相同的错误消息。错误消息是“尝试将零与数字进行比较”,它位于第4行。如果有帮助的话,我的操作系统是Windows7。我的代码在下面,我要求你们测试一下,看看它是否有效。如果可能的话,也要说明如果它工作的话,你用什么来运行它。基本上它要做的是弹出

我有一个Lua脚本,我一直在努力工作。这是我的第一个Lua脚本。我请其他人运行我的代码,对他们来说效果非常好。然而,当我尝试在任何地方运行它时(我尝试在Ideone.com、codepad.com、lExecutor、Garry的Mod等中运行),我会收到相同的错误消息。错误消息是“尝试将零与数字进行比较”,它位于第4行。如果有帮助的话,我的操作系统是Windows7。我的代码在下面,我要求你们测试一下,看看它是否有效。如果可能的话,也要说明如果它工作的话,你用什么来运行它。基本上它要做的是弹出一个输入框,用户必须输入他们的年龄。如果年龄超过或低于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
io.write(“输入您的年龄:”)
age=io.read()
年龄=吨数(年龄)
如果年龄<12岁,则
打印(“哦,不,你太年轻了!”)
如果年龄超过12岁
打印(“哦,不,你太老了!”)
其他的
打印(“欢迎,儿子!”)
结束

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

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

代码本身很好。问题是,如果你在像Ideone这样的网站上试用,你必须明确地提供输入,否则
age
得不到任何输入,因此它的值是
nil
,从而导致错误


,注意stdin部分。

代码本身很好。问题是,如果你在像Ideone这样的网站上试用,你必须明确地提供输入,否则
age
得不到任何输入,因此它的值是
nil
,从而导致错误


,请注意stdin部分。

尝试将nil与数字进行比较
意味着在该行上,您的变量是
nil
,而不是数字。当读取的值不能转换为数字时,就会发生这种情况。例如,如果在提示符处输入
foo
。如果您输入一个数字,它应该工作。“当我尝试在任何地方运行它时”,您应该首先在命令行中尝试。尝试比较nil与number意味着在该行上,您的变量是
nil
,而不是一个数字。当读取的值不能转换为数字时,就会发生这种情况。例如,如果在提示符处输入
foo
。如果您输入一个数字,它应该可以工作。“当我尝试在任何地方运行它时”,您应该首先尝试的地方是命令行中的。我现在明白了。谢谢你们的帮助:哈哈。我现在明白了。谢谢你们的帮助:D