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

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

8
Как предотвратить 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 Error during sbt execution: java.lang.OutOfMemoryError: PermGen space Это случается только время от времени, и ошибка обычно не возникает при последующем запуске компиляции. …

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

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

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

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

1
Как рассуждать о безопасности стека в 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): Pull[F,O,Unit] = { s.pull.uncons.flatMap …

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

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


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

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

1
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", col("test.two")) Теперь, проверяя журналы, я обнаружил, что для каждой строки UDF выполняется 3 раза. …

2
Должно ли моделирование объектов с состоянием моделироваться с типом эффекта?
При использовании функциональной среды, такой как 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] = F.delay { new Service(name) } Конструкция не подвержена ошибкам, поэтому мы могли …
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.