Я пытаюсь преобразовать проект scala в развернутую флягу с использованием sbt-assembly . Когда я запускаю задачу сборки в sbt, я получаю следующую ошибку: Merging ‘org/apache/commons/logging/impl/SimpleLog.class’ with strategy ‘deduplicate’ :assembly: deduplicate: different file contents found in the following: [error] /Users/home/.ivy2/cache/commons-logging/commons-logging/jars/commons-logging-1.1.1.jar:org/apache/commons/logging/impl/SimpleLog.class [error] /Users/home/.ivy2/cache/org.slf4j/jcl-over-slf4j/jars/jcl-over-slf4j-1.6.4.jar:org/apache/commons/logging/impl/SimpleLog.class Теперь из документации sbt-assembly: Если несколько файлов имеют один и тот же относительный путь […]
Я пытаюсь разрешить пользователям загружать фотографии на сервер, а затем просматривать их. Загрузка происходит, как описано в этом руководстве . Вот код: def upload = Action(parse.multipartFormData) { request => request.body.file(“picture”).map { picture => import java.io.File val filename = picture.filename val contentType = picture.contentType picture.ref.moveTo(new File(“/tmp/picture”)) Ok(“File uploaded”) }.getOrElse { Redirect(routes.Application.index).flashing( “error” -> “Missing file” ) […]
Я пытаюсь использовать метод Source.actorRef для создания объекта akka.stream.scaladsl.Source . Что-то вроде формы import akka.stream.OverflowStrategy.fail import akka.stream.scaladsl.Source case class Weather(zip : String, temp : Double, raining : Boolean) val weatherSource = Source.actorRef[Weather](Int.MaxValue, fail) val sunnySource = weatherSource.filter(!_.raining) … Мой вопрос: как отправить данные на исходный объект на основе ActorRef ? Я предположил, что отправка сообщений […]
В чем разница между методами ## и hashCode ? Кажется, что они выводят одни и те же значения независимо от того, какой class или перегрузка hashCode я использую. Google не помогает, так как он не может найти символ ## .
Скажем, мы хотим сделать функцию minBy которая возвращает все элементы равного минимализма в коллекции: def multiMinBy[A, B: Ordering](xs: Traversable[A])(f: A => B) = { val minVal = f(xs minBy f) xs filter (f(_) == minVal) } scala> multiMinBy(List(“zza”,”zzza”,”zzb”,”zzzb”))(_.last) res33: Traversable[java.lang.String] = List(zza, zzza) Пока что так хорошо, за исключением того, что у нас есть Traversable […]
Скажем, у меня две карты: val a = Map(1 -> “one”, 2 -> “two”, 3 -> “three”) val b = Map(1 -> “un”, 2 -> “deux”, 3 -> “trois”) Я хочу объединить эти карты с помощью ключа, применяя некоторую функцию для сбора значений (в этом конкретном случае я хочу собрать их в seq, давая: val […]
Я запускаю Scala 2.10.2. Я хочу создать список, а затем добавить некоторые элементы в список и ожидать увидеть все элементы в списках при вызове имени списка. Но я заметил что-то довольно странное (по крайней мере, странно для меня, так как я новичок). Ниже я попытался сделать это в моей sbt console scala> val l = […]
Как я могу прочитать большой файл CSV (> 1 Гб) с помощью Scala Stream? У вас есть пример кода? Или вы могли бы использовать другой способ для чтения большого файла CSV, не загружая его сначала в память?
Рассмотрим следующий код: private def test(some:String*){ } private def call () { val some = Array(“asd”, “zxc”) test(some) } Он печатает expect String, found Array[String] Почему? Являются ли Scala varargs не массивами? Заметка Я нашел несколько вопросов о переполнении стека о Scala varargs, но все они касаются методов Java varargs или преобразования списков Scala в […]
В Akka существует ли способ ограничить сообщения субъектами конкретным статическим типом, отличным от использования API-интерфейсов «Типированного актера», которые используют модель программирования стиля RPC? Могу ли я использовать стиль передачи сообщений с Akka, не отбрасывая безопасность статического типа на границах актера? Например, я хотел бы использовать такой код: sealed abstract class FooMessage case object Foo extends […]