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

81
Как объявить пустой список, а затем добавить строку в scala?

У меня такой код: val dm = List[String]() val dk = List[Map[String,Object]]() ..... dm.add("text") dk.add(Map("1" -> "ok")) но он выдает исключение java.lang.UnsupportedOperationException во время выполнения. Мне нужно объявить пустой список или пустые карты и кое-где позже в коде нужно их...

80
Scala classOf для параметра типа

Я пытаюсь создать универсальный метод для обновления объектов с помощью scala / java, но не могу получить класс для параметра типа. Вот мой код: object WorkUnitController extends Controller { def updateObject[T](toUpdate: T, body: JsonObject){ val source = gson.fromJson(body, classOf[T]); ... } }...

79
Как работает магия метода apply () в Scala?

В Scala, если я определяю метод, вызываемый applyв классе или в объекте верхнего уровня, этот метод будет вызываться всякий раз, когда я добавляю пару круглых скобок к экземпляру этого класса и помещаю соответствующие аргументы apply()между ними. Например: class Foo(x: Int) { def apply(y: Int) = {...

79
Как предотвратить java.lang.OutOfMemoryError: PermGen space при компиляции Scala?

Я заметил странное поведение моего компилятора scala. Иногда при компиляции класса возникает ошибка OutOfMemoryError. Вот сообщение об ошибке: [info] Compiling 1 Scala source to /Users/gruetter/Workspaces/scala/helloscala/target/scala-2.9.0/test-classes... java.lang.OutOfMemoryError: PermGen space...

38
Почему в Scala архивируется быстрее, чем zip?

Я написал некоторый код Scala для поэтапной операции над коллекцией. Здесь я определил два метода, которые выполняют одну и ту же задачу. Один метод использует, zipа другой использует zipped. def ES (arr :Array[Double], arr1 :Array[Double]) :Array[Double] = arr.zip(arr1).map(x => x._1 + x._2)...

16
Spark: Почему Python значительно превосходит Scala в моем случае использования?

Чтобы сравнить производительность Spark при использовании Python и Scala, я создал одно и то же задание на обоих языках и сравнил время выполнения. Я ожидал, что обе работы займут примерно одинаковое количество времени, но работа с Python заняла только одно, а работа с 27minScala - 37minпочти на...

15
Есть ли в представлении Ван Ларховена `Optional`

Многие виды оптики имеют представление Ван Ларховена. Например, Lensтип Lens s t a b может быть представлен как: Functor f => (a -> f b) -> s -> f t Аналогично, a Traversalможет быть представлен аналогичным образом, поменяв местами Functorограничение Applicative: Applicative f => (a...

13
Как рассуждать о безопасности стека в Scala Cats / fs2?

Вот фрагмент кода из документации для fs2 . Функция goрекурсивная. Вопрос в том, как узнать, безопасен ли он для стека, и как определить, является ли какая-либо функция безопасной для стека? import fs2._ // import fs2._ def tk[F[_],O](n: Long): Pipe[F,O,O] = { def go(s: Stream[F,O], n: Long):...

11
Почему метод, возвращающий Unit, может быть переопределен методом, возвращающим String, если типы возврата не указаны явно?

Я работал над примерами кода из главы «Особенности в программировании в Scala Edition1» https://www.artima.com/pins1ed/traits.html и наткнулся на странное поведение из-за моей опечатки. Несмотря на то, что переопределенный метод признака ниже фрагмента кода не дает никакой ошибки компиляции, хотя...

10
Почему println считается нечистой функцией?

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

9
Должно ли моделирование объектов с состоянием моделироваться с типом эффекта?

При использовании функциональной среды, такой как Scala cats-effect, следует ли моделировать объекты с состоянием с типом эффекта? // not a value/case class class Service(s: name) def withoutEffect(name: String): Service = new Service(name) def withEffect[F: Sync](name: String): F[Service] =...

9
Spark: UDF исполняется много раз

У меня есть датафрейм со следующим кодом: def test(lat: Double, lon: Double) = { println(s"testing ${lat / lon}") Map("one" -> "one", "two" -> "two") } val testUDF = udf(test _) df.withColumn("test", testUDF(col("lat"), col("lon"))) .withColumn("test1", col("test.one")) .withColumn("test2",...

9
GRPC: сделать высокопроизводительный клиент на Java / Scala

У меня есть сервис, который передает сообщения с довольно высокой скоростью. В настоящее время он обслуживается akka-tcp и составляет 3,5 миллиона сообщений в минуту. Я решил попробовать grpc. К сожалению, это привело к гораздо меньшей пропускной способности: ~ 500 тыс. Сообщений в минуту и ​​даже...

9
Разница между выводом типа метода и параметрами типа класса при сопоставлении с образцом

Почему сопоставление с образцом работает по-разному, когда параметр типа поступает из включающего метода, а не из включающего класса? Например, trait Base[T] case class Derived(v: Int) extends Base[Int] class Test[A] { def method(arg: Base[A]) = { arg match { case Derived(_) => 42 } } } дает...