169 похожих чатов

Здравствуйте. Решая задачи, столкнулся с такой ситуации, что в Скале

оператор return работает иначе, и в статьях указывается, что его лучше не использовать. Как Вы поступаете в таком случае, при решении задачи, когда Вам надо принудительно выйти из метода, тем самым уменьшая время работы?

12 ответов

7 просмотров

Не используем return вообще. Принудительно не выходим.

Можно закинуть пример кода с необходимостью принудительного выхода в скасти. Тогда кто-нть тут посмотрит и возможно предложит альтернативное решение.

Можно и нужно, если return упрощает код - используйте return. Не стоит его использовать внутри лямбд

Необходимость использовать return автоматически пропадает после определённой практики scala.

Daniel
ну ето бан

Вот пример из стандартной библиотеки Scala: def sizeCompare(otherSize: Int): Int = { if (otherSize < 0) 1 else { val known = knownSize if (known >= 0) Integer.compare(known, otherSize) else { var i = 0 val it = iterator while (it.hasNext) { if (i == otherSize) return 1 it.next() i += 1 } i - otherSize } } } Главное - без фанатизма.

Sergey Alaev
Вот пример из стандартной библиотеки Scala: def ...

вы сами гарантия себе, как говорится

Daniel
вы сами гарантия себе, как говорится

как говорится, нечего сказать - переходи на личности

Sergey Alaev
Вот пример из стандартной библиотеки Scala: def ...

Стдлиба — не гарант качества. Ретурнов стоит избегать хотя бы потому что сегодня код с ними такой, а завтра он уже ретурнит из лямбды

Nikita V
Стдлиба — не гарант качества. Ретурнов стоит избег...

Да, и новички злоупотребляют ретурнами, это тоже правда. Но, с другой стороны, ретурны позволяют уменьшить уровень вложенности в функции и просто быстрее для таких алгоритмов, когда нужно что-то найти и выйти.

Sergey Alaev
Да, и новички злоупотребляют ретурнами, это тоже п...

это единичные и узкоспециализированные случаи. Не стоит из-за них одних давать новичкам «общие» советы

Похожие вопросы

Обсуждают сегодня

Всем привет, написал код ниже, но он выдает сегфолт, в чем причина? #include <stdio.h> #include <stdlib.h> #include <string.h> struct product { char *name; float price; };...
buzz базз
75
База данных не поможет. Шифрование не поможет. Какие там ещё варианты? Накидывайте.
КТ315
20
А табстоп это сообщение от окна или от элемента управления?
The Bird of Hermes
18
А как лучше конвертировать физический адрес в виртуальный при маппинге? В случае ядра у меня, например, direct mapping, первые 768МБ я как есть мапплю в higher half, а остальн...
Evg Resh
26
Открыл свой двухкилобайтный экзешник в x32dbg, а тут какая-то хрень. Смущает кнопка "выполнить до пользовательского кода", а что ещё может быть в файле помимо него ?
НѣкъиⰘижєжєиꙁъвьсєсвѣтьноѣсѣтиѥсть•
11
Мне были интересны дишные хаки и я нашёл любопытный способ на форуме через __traits, что-то вроде int delegate(int) fac = (int n) => n == 0 ? 1 : n * __traits(parent, {})(n - ...
Constantin F.
1
Вопрос тем кто смотрит видео и слушает подкасты - как вы потом ищете нужную вам информацию? Вот статью я прочитал, потом могу искать нужную мне часть банальным поиском. Пропус...
Aleksandr Druzhinin
4
Всем привет, подскажите/посоветуйте пожалуйста. Фаердак компоненты, имею одно место где бизнес хочет видеть при открытии формы список всех клиентов, это порядка 30к. Мои дово...
Sasha Sch
14
Ребят, если кто в курсе - скажите, а в загранке такое же засилье маркетплейсов? или там простые сермяжные интернет-магазины живут попроще?
Андрей [aharito] Харитонов
14
Коллеги, доброе утро. Запустил на удаленном хосте приложение (ручками зашел туда по ssh и запустил, не командой удаленно). Создал потом ssh-туннель, и с моей машины приложение...
Δημήτηρ
9
Карта сайта