Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.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
If statement 你希望在那附近吗_If Statement_Lua - Fatal编程技术网

If statement 你希望在那附近吗

If statement 你希望在那附近吗,if-statement,lua,If Statement,Lua,最近,我的一位朋友向我求助,让我用lua编写一个“what Find perfect squares”程序,因此我起草了以下文件: print ("Select your maximum number") x = io.read() y=1 z={} a=1 while y * y ~= x and y < x / 2 then do y = y + 1 end if y * y = x then do z[a] = x a

最近,我的一位朋友向我求助,让我用lua编写一个“what Find perfect squares”程序,因此我起草了以下文件:

print ("Select your maximum number")
x = io.read()
y=1
z={}
a=1

while y * y ~= x and y < x / 2
    then do
        y = y + 1
end
if y * y = x
    then do
        z[a] = x
        a = a + 1
end
x = x - 1
到最后。当我去测试这个程序时,我在第8行得到了以下错误:

你希望在那附近吗

那时杜就在附近。有人能告诉我哪里出了问题吗?谢谢。

在Lua中,是时候结束了,如果结束了。此外,相等性测试为==。因此,您的代码应该是:

while y * y ~= x and y < x / 2
    do
        y = y + 1
end
if y * y == x
    then
        z[a] = x
        a = a + 1
end
x = x - 1

该代码中有几个语法错误。第一个是while被写成while foo>bar do,而if使用if foo>bar then的语法


另一个错误是在if语句中,有if y*y=x。逻辑等于运算符为==,因此如果y*y==x,则应该是这样。

阅读本手册确实会让您受益匪浅:
while y * y ~= x and y < x / 2
    do
        y = y + 1
end
if y * y == x
    then
        z[a] = x
        a = a + 1
end
x = x - 1