Вопросы с тегом «scala»

100
Чем отличаются `private val` и` private final val`?

Раньше я думал, что это одно private valи то private final valже, пока не увидел раздел 4.1 в Справочнике по Scala: Определение постоянного значения имеет вид final val x = e где e - постоянное выражение (§6.24). Должен присутствовать последний модификатор, а аннотация типа не может быть дана....

100
Сопоставление нескольких классов case в scala

Я выполняю сопоставление с некоторыми классами case и хотел бы обрабатывать два случая таким же образом. Что-то вроде этого: abstract class Foo case class A extends Foo case class B(s:String) extends Foo case class C(s:String) extends Foo def matcher(l: Foo): String = { l match { case A() =>...

100
Как выполнить проверку экземпляра с помощью Scala (тест)

Я пытаюсь включить ScalaTest в свой Java-проект; замена всех тестов JUnit на ScalaTests. В какой-то момент я хочу проверить, вводит ли Guice Injector правильный тип. В Java у меня есть такой тест: public class InjectorBehaviour { @Test public void shouldInjectCorrectTypes() { Injector injector =...

100
Может кто-нибудь объяснить, как правильно использовать SBT?

Я выхожу из туалета на этом! Я не понимаю SBT. Вот, я сказал, теперь помогите мне, пожалуйста. Все дороги ведут в Рим, и это то же самое для SBT: Для того, чтобы начать работу с SBTтам SBT, SBT Launcher, SBT-extrasи т.д., а затем Существуют различные способы , чтобы включить и принять решение о...

99
Предотвращает ли JVM оптимизацию хвостового вызова?

Я видел эту цитату на вопрос: какой хороший функциональный язык для создания веб-службы? Scala, в частности, не поддерживает исключение хвостовых вызовов, за исключением саморекурсивных функций, что ограничивает виды композиции, которую вы можете выполнять (это фундаментальное ограничение JVM)....

99
val-mutable против var-immutable в Scala

Есть ли в Scala какие-либо рекомендации относительно того, когда использовать val с изменяемой коллекцией по сравнению с использованием var с неизменяемой коллекцией? Или вам действительно стоит стремиться к val с неизменной коллекцией? Тот факт, что существуют оба типа коллекции, дает мне большой...

98
Что такое аннотация Scala для оптимизации хвостовой рекурсивной функции?

Я думаю, что есть @tailrecаннотация, чтобы компилятор оптимизировал хвостовую рекурсивную функцию. Вы просто ставите это перед декларацией? Работает ли он также, если Scala используется в режиме сценариев (например, с использованием :load <file>REPL)?...

98
Как указать максимальный размер кучи JVM «-Xmx» для запуска приложения с действием «запустить» в SBT?

Мое приложение выполняет обработку больших массивов данных и требует больше памяти, чем предоставляет JVM по умолчанию. Я знаю, что в Java это указано параметром «-Xmx». Как настроить SBT на использование определенного значения «-Xmx» для запуска приложения с действием «запустить»?...

98
Функциональное программирование - стоит ли неизменность дорого? [закрыто]

В настоящее время этот вопрос не подходит для нашего формата вопросов и ответов. Мы ожидаем, что ответы будут подтверждены фактами, ссылками или опытом, но этот вопрос, скорее всего, потребует дебатов, аргументов, опросов или расширенного обсуждения. Если вы считаете, что этот вопрос можно...

97
Элегантный способ инвертировать карту в Scala

Изучая Scala в настоящее время, необходимо инвертировать карту, чтобы выполнить поиск по инвертированному значению-> ключу. Я искал простой способ сделать это, но нашел только: (Map() ++ origMap.map(kvp=>(kvp._2->kvp._1))) У кого-нибудь есть более элегантный подход?...

97
Как скомпилировать тесты с SBT, не запуская их

Есть ли способ создавать тесты с SBT без их запуска? Мой собственный вариант использования - запустить статический анализ тестового кода с помощью плагина scalac. Другой возможный вариант использования - запускать часть или весь тестовый код, используя отдельный бегунок, отличный от того, который...

97
Соглашение об именах для констант Scala?

Каково соглашение об именах констант Scala? Краткий поиск по StackOverflow предлагает верхний регистр CamelCase (первая строка ниже), но я хотел дважды проверить. val ThisIsAConstant = 1.23 val THIS_IS_ANOTHER_CONSTANT = 1.55 val thisIsAThirdConstant = 1.94 Какой стиль Scala рекомендуется...

96
Как правильно получить подмассив в Scala?

Я пытаюсь получить подмассив в scala, и я немного не понимаю, как это сделать правильно. Больше всего мне хотелось бы, чтобы это было похоже на то, как это можно сделать в python: x = [3, 2, 1] x[0:2] но я совершенно уверен, что вы не можете этого сделать. Наиболее очевидный способ сделать это -...