Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/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
Ruby For循环内部if/else内部while。正确语法_Ruby_Loops_For Loop - Fatal编程技术网

Ruby For循环内部if/else内部while。正确语法

Ruby For循环内部if/else内部while。正确语法,ruby,loops,for-loop,Ruby,Loops,For Loop,为什么这样不行?我得到了意想不到的结果 while(!k && DATA[q]) if DATA[q] == 'aa' && DATA[p] == 'aa' pl = DATA[r] for i in 0..pl PACK[i] = DATA[i+4] end k+=1 #end while else q++ p++

为什么这样不行?我得到了意想不到的结果

while(!k && DATA[q])
    if DATA[q] == 'aa' && DATA[p] == 'aa'
        pl = DATA[r]
        for i in 0..pl
            PACK[i] = DATA[i+4]
        end

        k+=1 #end while 
    else
        q++
        p++
        r++
    end
end

出现错误是因为
++
在Ruby中不起作用

Ruby没有前置/后置递增/递减运算符。例如,x++ 或者x——将无法解析。更重要的是,++x或--x就可以了 没有什么!事实上,它们的行为就像多个一元前缀运算符:-x ==--x===--x==。。。。。。要增加一个数字,只需写x+=1

(这确实是他自己。)

您应按如下方式替换它们:

q+=1
p+=1
r+=1

出现错误是因为
++
在Ruby中不起作用

Ruby没有前置/后置递增/递减运算符。例如,x++ 或者x——将无法解析。更重要的是,++x或--x就可以了 没有什么!事实上,它们的行为就像多个一元前缀运算符:-x ==--x===--x==。。。。。。要增加一个数字,只需写x+=1

(这确实是他自己。)

您应按如下方式替换它们:

q+=1
p+=1
r+=1

My love和Gratiudethere是代码中的其他语法错误。你只解决了问题的一部分,没有理由在这里投反对票。对不起,我认为你的答案不完整。因为答案有道理,所以我投了赞成票。我真的无法理解这些连载的反对者。我的爱和感激是代码中的其他语法错误。你只解决了问题的一部分,没有理由在这里投反对票。对不起,我认为你的答案不完整。因为答案有道理,所以我投了赞成票。我真的不明白这些连续的选民。