ラベル付きbreak
「プログラミング言語Ruby 5.5.6 throwとcatch」より
JavaやJavaScriptなどの言語では、任意のプレフィックスで繰り返しに名前、ラベルを付けることができ、「ラベル付きbreak」と呼ばれる制御構造によって、名前付き繰り返しを抜け出すことができる。
知らなかった...
↓こんな感じ
public class Label { public static void main(String[] args) { for (int i = 0; i < 2; i++) { label: for (int j = 0; j < 2; j++) { for (int k = 0; k < 2; k++) { int product = j * k; if (product > 3) { break label; } System.out.println(product); } } System.out.println("Break!"); } } }
出力
0
0
0
1
Break!
0
0
0
1
Break!
実際に使われてるところは見たことないなあ。
一種のgoto文のように見えるし、使う場面はそんなにないように思う。