Scala nie ma break
lub continue
, więc pewne zachowanie w pętli wymaga nieco więcej myślenia.
Wcześniejsze zakończenie pętli wymaga rekurencji ogona, wyjątków lub scala.util.control.Breaks
(która korzysta z wyjątków).
Uzasadnieniem tego jest to, goto
że są to konstrukcje przepływowe, które zaciemniają przepływ i mogą być osiągnięte w lepszy, mniej zaskakujący sposób.
Wygląda jednak na to, że można zastosować te same argumenty return
.
Dlaczego Scala celowo pomijają break
i continue
, ale nie return
?
breakable { for { break; } }
tylko refleksja i prawdopodobnie daleka od skuteczności.
break
i continue
jest zawarta w swoim pytaniu w link w swoim pytaniu. Pytanie return
brzmi dokładnie o to, co łączyłem z pytaniem, na które udzielono odpowiedzi, przynajmniej w najczęściej głosowanej, zaakceptowanej odpowiedzi. Jeśli dwie odpowiedzi razem nie odpowiadają na twoje pytanie, być może mógłbyś edytować pytanie, aby je wyjaśnić.
break
icontinue
potrzebuję dodatkowych maszyn do czyszczenia. OTOHreturn
to sposób na uporządkowane zakończenie funkcji, a każda maszyna czyszcząca już tam jest.