ループにループがあり、ある事が起きたときにループを開始したい。しかし、私がそれを返すと、ループが終了します。luaのリターンに相当しますか?
wrong = false
while true do
if wrong then
return
end
print 'Not wrong'
end
ループにループがあり、ある事が起きたときにループを開始したい。しかし、私がそれを返すと、ループが終了します。luaのリターンに相当しますか?
wrong = false
while true do
if wrong then
return
end
print 'Not wrong'
end
戻り値は関数を終了し、値を返します。私はあなたがループのうちbreak
にしたいと思う。
'break 'はループを開始しません。これはOPが尋ねたものです。 –
まず最初にreturn
はループを終了せず、関数/スクリプト全体を終了させる。それに気づいてください!ループを終了するには、break
を使用します。あなたは他の言語で "続ける"と同等のものを探しています。
ルアにはこのようなことはありません。あなたは新しいLuaのバージョンで利用可能ですが、一般的にあなたは、単にあなたのコードを書き換えることができgoto
文使って、一緒に何かをいじることができます:
while true do
if not wrong then
print("not wrong")
end
end
を、あなたは「継続」のキーワードをお探しですか?もしそうなら、あなたはこれを読むことができます:http://stackoverflow.com/questions/3524970/why-does-lua-have-no-continue-statement –
'return'はまさにそれがやろうとしていることをやっています。ほとんどの言語では、 'return'は現在のループだけでなく、現在の関数呼び出しを終了します。私はあなたが誤って 'return'がすべきだと考えるものではなく、あなたがしたいことを記述するために質問を書き直すことを提案します。 –