私が単一のfor loop
機能を持っているとしましょう。選択するのが最善でしょうかreturn
、それともbreak
メカニック関連の好みがない場合ですか? それともまったく同じでしょうか?
void function()
{
for (int i; i<foo; i++)
{
if (something)
// return? break?
}
// nothing else after this
}
break を使用するとループが終了しますが、return を使用すると実際にメソッドが完了します。したがって、単純にループを停止することが目的の場合は、break を使用できます。ただし、メソッドを終了させたい場合は、return を使用してください。return と breakの特殊なケースに関する追加コメントについては、この投稿を参照してください: ruby での break と return, how do you use them?
********編集******** このシナリオでは、関数の for ループの下にさらにコードがない限り、まったく同じように機能します。その場合は、break を使用してそのコードをヒットします。
生成されたコードに関しては、このシナリオではまったく同じであると期待できます。
ただし、return はbreakとは意味が異なります。Return は関数を終了することを意味し、break はループを終了するだけです。結果は今と同じかもしれませんが、アルゴリズムが変更されたり、後処理が必要になったりすると、結果が変わる可能性があります。
このシナリオで何がより適切かは、実際のコードがなければ何とも言えません。
break
この状況では a を使用することをお勧めします。要件は時間の経過とともに変化する可能性があり、ループの後に別のコードを追加しなければならない日が来るかもしれません。次に、
return
特に初期のループ終了がまれでテストが難しい条件である場合は、初期のバグが発生するのを待っている可能性があります。