Size: a a a

Scala User Group

2021 August 31

S

Simon in Scala User Group
А теперь стоит забыть полученные знания так как break() никогда не должен встречаться в scala коде. Как и return. За исключением 1 случая: портирование алгоритма с другого ЯП, не вдумываясь в логику алгоритма.
источник

AM

Aleksey Mishkin in Scala User Group
Переношу код с питона и при попытке перенести без break запутался совсем
источник

Oℕ

Oleg ℕizhnik in Scala User Group
в скале идиоматично в хвостовую рекурсию переписывать, к сожалению
источник

AS

Andrey Sugak in Scala User Group
А если я неидиоматично хочу писать?
источник

Oℕ

Oleg ℕizhnik in Scala User Group
тогда можно
источник

AS

Andrey Sugak in Scala User Group
Спасибо.
источник

EK

Evgenii Kuznetcov in Scala User Group
Почему BreakControl не наследует Error
источник

П

Павел in Scala User Group
Это достаточно близко к тому что нужно мне кажется :)
источник

SA

Sergey Alaev in Scala User Group
Я бы еще view добавил, чтобы коллекции не копировать, и выглядит разумным компромиссом
источник

S

Simon in Scala User Group
Error - это сильно специфичная штука в Java.
Вас скорее интересует Exception
источник

EK

Evgenii Kuznetcov in Scala User Group
Нет
источник

П

Павел in Scala User Group
Не силен пока :(
источник

S

Simon in Scala User Group
В любом случае он наследует ControlThrowable, который не наследует ни Exception (чтоб не перехватывали почем зря) ни Error
источник

S

Simon in Scala User Group
Причина:
An Error is a subclass of Throwable that indicates serious problems that a reasonable application should not try to catch. Most such errors are abnormal conditions. The ThreadDeath error, though a "normal" condition, is also a subclass of Error because most applications should not try to catch it. 

https://docs.oracle.com/javase/7/docs/api/java/lang/Error.html
источник

Oℕ

Oleg ℕizhnik in Scala User Group
источник

S

Simon in Scala User Group
Это не "serious problem"
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Range.takeWhile - это Range
источник

EK

Evgenii Kuznetcov in Scala User Group
Это serious problem кода, так что пусть падает
источник

S

Simon in Scala User Group
Только сложность там O(n)
источник

EK

Evgenii Kuznetcov in Scala User Group
Fundamental unsoundness
источник