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

Scala - это язык программирования общего назначения, в основном предназначенный для виртуальной машины Java. Разработанный для краткого, изящного и безопасного для типов представления общих шаблонов программирования, он сочетает в себе как императивный, так и функциональный стили программирования. Его основными характеристиками являются: усовершенствованная система статического типа с выводом типа; типы функций; сопоставления с образцом; неявные параметры и преобразования; перегрузка оператора; полная совместимость с Java; совпадение

18
Примеры кода Scala и Java, в которых код Scala выглядит проще / имеет меньше строк?
Мне нужны образцы кода (и мне они очень интересны) кода Scala и Java, которые показывают, что код Scala более простой и лаконичный, чем код, написанный на Java (конечно, оба образца должны решать одну и ту же проблему). Если есть только образец Scala с комментарием типа «это абстрактная фабрика в Scala, …


3
Почему неизменяемый набор Scala не ковариантен по своему типу?
РЕДАКТИРОВАТЬ : переписал этот вопрос на основе исходного ответа scala.collection.immutable.SetКласс не ковариантен в параметре типа. Почему это? import scala.collection.immutable._ def foo(s: Set[CharSequence]): Unit = { println(s) } def bar(): Unit = { val s: Set[String] = Set("Hello", "World"); foo(s); //DOES NOT COMPILE, regardless of whether type is declared //explicitly in …

3
Неявное преобразование и класс типа
В Scala мы можем использовать как минимум два метода для модификации существующих или новых типов. Предположим, мы хотим выразить, что что-то можно количественно оценить с помощью Int. Мы можем определить следующую черту. Неявное преобразование trait Quantifiable{ def quantify: Int } И затем мы можем использовать неявные преобразования для количественной оценки, …

10
Могу ли я объединить в Scala более двух списков?
Учитывая следующий список Scala: val l = List(List("a1", "b1", "c1"), List("a2", "b2", "c2"), List("a3", "b3", "c3")) Как я могу получить: List(("a1", "a2", "a3"), ("b1", "b2", "b3"), ("c1", "c2", "c3")) Поскольку zip можно использовать только для объединения двух списков, я думаю, вам нужно как-то перебрать / уменьшить основной список. Неудивительно, что …

5
Тернарный оператор, похожий на?:
Я стараюсь избегать таких конструкций: val result = this.getClass.getSimpleName if (result.endsWith("$")) result.init else result Хорошо, в этом примере thenи elseветви просты, но вы можете изображения сложные. Я построил следующее: object TernaryOp { class Ternary[T](t: T) { def is[R](bte: BranchThenElse[T,R]) = if (bte.branch(t)) bte.then(t) else bte.elze(t) } class Branch[T](branch: T => …
94 scala 

4
Каковы примеры использования символьных литералов в Scala?
Использование символьных литералов не сразу понятно из того, что я прочитал о Scala. Кто-нибудь захочет поделиться с вами некоторыми реальными применениями? Есть ли конкретная идиома Java, охватываемая символьными литералами? В каких языках есть похожие конструкции? Я исхожу из опыта работы с Python и не уверен, что на этом языке есть …
93 syntax  scala 

1
Каковы варианты использования scala.concurrent.Promise?
Я читаю SIP-14, и концепция Futureимеет смысл и проста для понимания. Но есть два вопроса Promise: SIP говорит Depending on the implementation, it may be the case that p.future == p. Как это может быть? Есть два разных типа, Futureа Promiseне два? Когда мы должны использовать Promise? Пример producer and …

16
Spark - Ошибка «В конфигурации должен быть указан главный URL» при отправке приложения.
У меня есть приложение Spark, которое работает без проблем в локальном режиме, но имеет некоторые проблемы при отправке в кластер Spark. Сообщение об ошибке выглядит следующим образом: 16/06/24 15:42:06 WARN scheduler.TaskSetManager: Lost task 2.0 in stage 0.0 (TID 2, cluster-node-02): java.lang.ExceptionInInitializerError at GroupEvolutionES$$anonfun$6.apply(GroupEvolutionES.scala:579) at GroupEvolutionES$$anonfun$6.apply(GroupEvolutionES.scala:579) at scala.collection.Iterator$$anon$14.hasNext(Iterator.scala:390) at org.apache.spark.util.Utils$.getIteratorSize(Utils.scala:1595) at …

6
Переименование имен столбцов DataFrame в Spark Scala
Я пытаюсь преобразовать все заголовки / имена столбцов DataFrameв Spark-Scala. на данный момент я придумываю следующий код, который заменяет только одно имя столбца. for( i <- 0 to origCols.length - 1) { df.withColumnRenamed( df.columns(i), df.columns(i).toLowerCase ); }


3
Как применить шаблон обогащения моей библиотеки к коллекциям Scala?
Один из самых мощных моделей , доступных в Scala является обогащает-мою библиотеку * шаблон, который использует неявные преобразования , чтобы появиться , чтобы добавить методы к существующим классам , не требуя разрешения метода динамического. Например, если бы мы хотели, чтобы у всех строк был метод spaces, подсчитывающий, сколько в них …

1
HowTo: настраиваемое поле в Lift-Record-Squeryl
Я пытаюсь сделать EnumListFieldв Lift / Record / Squeryl аналогично MappedEnumListin LiftMapper. Тип хранилища должен быть Long / BIGINT. Я понимаю, что если я определю: def classOfPersistentField = classOf[Long] Тогда Squeryl будет знать, что он должен создать столбец BIGINT. И я знаю, что он используется setFromAny()для установки значения, передавая Long. …
92 scala  lift  record  squeryl 

30
Редактор не содержит основного типа
Просто просматриваю образец кода Scala на веб-сайте Scala, но при попытке запустить возникла досадная ошибка. Вот код: http://www.scala-lang.org/node/45 . Запустив его в Eclipse, я получил сообщение «Редактор не содержит основного типа», что мешает его запуску. Что мне нужно сделать ... т.е. разбить этот файл на несколько файлов или что?
92 eclipse  scala 

4
Объекты пакета
Что такое объекты пакета, не столько концепция, сколько их использование? Я попытался заставить пример работать, и единственная форма, которую я получил, была следующая: package object investigations { val PackageObjectVal = "A package object val" } package investigations { object PackageObjectTest { def main(args: Array[String]) { println("Referencing a package object val: …
92 scala  scala-2.8 

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.