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