2016-12-03 6 views
-2

ループにループがあり、ある事が起きたときにループを開始したい。しかし、私がそれを返すと、ループが終了します。luaのリターンに相当しますか?

wrong = false 
while true do 
    if wrong then 
     return 
    end 

    print 'Not wrong' 
end 
+3

を、あなたは「継続」のキーワードをお探しですか?もしそうなら、あなたはこれを読むことができます:http://stackoverflow.com/questions/3524970/why-does-lua-have-no-continue-statement –

+1

'return'はまさにそれがやろうとしていることをやっています。ほとんどの言語では、 'return'は現在のループだけでなく、現在の関数呼び出しを終了します。私はあなたが誤って 'return'がすべきだと考えるものではなく、あなたがしたいことを記述するために質問を書き直すことを提案します。 –

答えて

0

戻り値は関数を終了し、値を返します。私はあなたがループのうちbreakにしたいと思う。

+2

'break 'はループを開始しません。これはOPが尋ねたものです。 –

2

まず最初にreturnはループを終了せず、関数/スクリプト全体を終了させる。それに気づいてください!ループを終了するには、breakを使用します。あなたは他の言語で "続ける"と同等のものを探しています。

ルアにはこのようなことはありません。あなたは新しいLuaのバージョンで利用可能ですが、一般的にあなたは、単にあなたのコードを書き換えることができgoto文使って、一緒に何かをいじることができます:

while true do 
    if not wrong then 
    print("not wrong") 
    end 
end