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

84
Scala: элегантное преобразование строки в логическое значение

На Java можно писать Boolean.valueOf(myString). Однако в Scala java.lang.Booleanскрыто, в scala.Booleanкотором отсутствует эта функция. Достаточно легко переключиться на использование исходной версии логического значения Java, но это кажется неправильным. Так что же представляет собой однострочное...

84
Какова мотивация присвоения Scala оценивать Unit, а не присвоенное значение?

Какова мотивация присвоения Scala оценивать Unit, а не присвоенное значение? Обычный шаблон в программировании ввода-вывода - это делать что-то вроде этого: while ((bytesRead = in.read(buffer)) != -1) { ... Но в Scala это невозможно, потому что ... bytesRead = in.read(buffer) .. возвращает Unit, а...

84
Как переопределить применение в случае класса companion

Итак, вот ситуация. Я хочу определить класс case следующим образом: case class A(val s: String) и я хочу определить объект, чтобы при создании экземпляров класса значение 's' всегда было в верхнем регистре, например: object A { def apply(s: String) = new A(s.toUpperCase) } Однако это не работает,...

84
Каковы различия и сходства между чертами Scala и интерфейсами Java 8?

Я новичок в Scala, начал изучать язык для развлечения и все еще пытаюсь осмыслить его. Насколько я понимаю, черты Scala похожи на интерфейсы Java, за исключением того, что некоторые методы могут иметь реализацию. Java 8 добавляет интерфейсы, которые могут иметь методы по умолчанию, где может быть...

83
В чем смысл класса Option [T]?

Я не могу понять смысл Option[T]класса в Scala. Я имею в виду, я не вижу никаких преимуществ Noneсверх null. Например, рассмотрим код: object Main{ class Person(name: String, var age: int){ def display = println(name+" "+age) } def getPerson1: Person = { // returns a Person instance or null } def...

83
Какие дизайнерские решения предпочли бы Scala Actors вместо JMS?

В чем разница с использованием Scala Actors вместо JMS? Например, с точки зрения производительности и масштабируемости, что добавляет модель Scala Actor по сравнению с JMS? В каких случаях имеет больше смысла использовать акторов, а не JMS, т.е. какие проблемы решают акторы, которые JMS не может...

83
Два способа каррирования в Scala; какой вариант использования для каждого?

Я веду обсуждение списков нескольких параметров в Руководстве по стилю Scala, которое я поддерживаю. Я понял, что есть два способа каррирования , и мне интересно, каковы варианты использования: def add(a:Int)(b:Int) = {a + b} // Works add(5)(6) // Doesn't compile val f = add(5) // Works val f =...

83
Эффективная итерация с индексом в Scala

Поскольку в Scala нет старых forциклов в стиле Java с индексом, // does not work val xs = Array("first", "second", "third") for (i=0; i<xs.length; i++) { println("String #" + i + " is " + xs(i)) } Как мы можем эффективно выполнять итерацию, не используя var's? Ты мог бы сделать это val xs =...

83
Тестовые зависимости SBT в мультипроектах: сделайте тестовый код доступным для зависимых проектов

У меня есть многопроект SBT, в котором некоторые проекты зависят друг от друга. Как это: lazy val coreProject: Project = Project( id = "core-project", base = file("./core-project"), // other stuff )) lazy val extensions: Project = Project( id = "extensions", base = file("./extensions"),...

83
Как заменить программу, написанную в виде последовательного потока переходов состояний, на scalaz-stream?

Я пытаюсь понять, как реорганизовать программу, которую я раньше написал бы как последовательность переходов состояний: У меня есть бизнес-логика: type In = Long type Count = Int type Out = Count type S = Map[Int, Count] val inputToIn: String => Option[In] = s => try Some(s.toLong) catch {...

83
Как передать параметр -D или переменную среды в задание Spark?

Я хочу изменить конфигурацию Typafe для задания Spark в среде dev / prod. Мне кажется, что самый простой способ добиться этого - перейти -Dconfig.resource=ENVNAMEна работу. Тогда библиотека конфигурации Typesafe сделает всю работу за меня. Есть ли способ передать эту возможность напрямую работе?...

82
О производительности и совместимости с Java: Clojure против Scala

Я уже читал различные отчеты о Clojure vs. Scala и пока понимаю, что оба имеют свое место. Есть несколько моментов, по которым я не получил полного объяснения, когда дело доходит до сравнения Clojure и Scala: 1.) Какой из двух языков вообще быстрее ? Я понимаю, что это будет отличаться от одной...

82
Удаление символов из конца String Scala

Каков самый простой способ удалить последний символ из конца строки в Scala? Я считаю, что класс Rubys String имеет несколько очень полезных методов, например chop . Я бы использовал "oddoneoutz" .headOption в Scala, но он устарел. Я не хочу вдаваться в чрезмерную сложность: string.slice(0,...

82
Как управлять несколькими взаимозависимыми модулями с помощью SBT и IntelliJ IDEA?

Я разрабатываю несколько модулей с зависимостями между ними и хотел бы работать со всеми ними вместе в одном проекте IDEA. Я использую sbt-idea для создания проектов IDEA из определений сборки sbt, что отлично подходит для отдельных проектов. Однако в случае с несколькими модулями то, что я...

82
Scala currying против частично применяемых функций

Я понимаю, что здесь есть несколько вопросов о том, что такое каррирование и частично применяемые функции, но я спрашиваю, чем они отличаются. В качестве простого примера приведем каррированную функцию для поиска четных чисел: def filter(xs: List[Int], p: Int => Boolean): List[Int] = if...

82
withFilter вместо filter

Всегда ли эффективнее использовать withFilter вместо filter при последующем применении таких функций, как карта, плоская карта и т. Д.? Почему поддерживаются только map, flatmap и foreach? (Ожидаемые функции типа forall / также существуют)...

82
Как работает HashPartitioner?

Я прочитал документацию по HashPartitioner. К сожалению, ничего не было объяснено, кроме вызовов API. Я исхожу из предположения, что HashPartitionerраспределенный набор разбивается на разделы на основе хэша ключей. Например, если мои данные похожи на (1,1), (1,2), (1,3), (2,1), (2,2), (2,3) Таким...