Articles of Scala

Ottieni l’elenco dei nomi dei campi da case class

Ho bisogno di ottenere solo i nomi dei campi di case class. Non sono interessato ai suoi valori. Pensavo che getClass.getDeclaredFields.map(_.getName) avrebbe restituito un elenco di nomi di campi. scala> case class User(id: Int, name: String) defined class User scala> User.getClass.getDeclaredFields res14: Array[java.lang.reflect.Field] = Array(public static final User$ User$.MODULE$) scala> User.getClass.getDeclaredFields.toList res15: List[java.lang.reflect.Field] = List(public […]

Accesso al ActorRef sottostante di un stream akka Fonte creata da Source.actorRef

Sto cercando di utilizzare il metodo Source.actorRef per creare un object akka.stream.scaladsl.Source . Qualcosa nella forma 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) … La mia domanda è: come posso inviare i dati al mio object Source basato […]

problemi di assembly-merge-strategy usando sbt-assembly

Sto provando a convertire un progetto scala in un contenitore di grasso deployable usando sbt-assembly . Quando eseguo l’attività di assemblaggio in sbt, visualizzo il seguente errore: 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 Ora dalla documentazione di sbt-assembly: Se più file condividono lo […]

Come calcolare il numero migliore di partizioni per coalizzarsi?

Quindi, capisco che in generale si dovrebbe usare coalesce() quando: il numero di partizioni diminuisce a causa di un filter o di qualche altra operazione che può comportare la riduzione del set di dati originale (RDD, DF). coalesce() è utile per eseguire le operazioni in modo più efficiente dopo aver filtrato un set di dati […]

Come pubblicare file caricati in Play! 2 usando Scala?

Sto cercando di consentire agli utenti di caricare foto sul server e quindi visualizzarle. Il caricamento avviene come descritto in questa guida . Ecco il codice: 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” […]

Qual è la differenza tra `##` e `hashCode`?

Qual è la differenza tra i metodi ## e hashCode ? Sembra che stiano emettendo gli stessi valori, indipendentemente dal sovraccarico di class o hashCode che utilizzo. Anche Google non aiuta, dal momento che non riesce a trovare il simbolo ## .

Come faccio a leggere un file CSV di grandi dimensioni con la class Scala Stream?

Come faccio a leggere un file CSV di grandi dimensioni (> 1 Gb) con un stream di Scala? Hai un esempio di codice? Oppure utilizzeresti un modo diverso per leggere un file CSV di grandi dimensioni senza prima caricarlo in memoria?

Come utilizzare le librerie di terze parti con Scala REPL?

Ho scaricato Algebird e voglio provare alcune cose nell’interprete di Scala usando questa libreria. Come ottengo questo?

Dipendenza irrisolta SBT 0.13.0 dopo l’aggiornamento

Si prega di dare un’occhiata ai commenti per essere aggiornato. Aggiorna SBT a 0.13.0: Ho un paio di progetti scritti con scala 2.10.2 e compilato con sbt 0.12.4. Poiché il mio sistema operativo è Ubuntu, ho utilizzato il pacchetto SBT.deb per l’installazione di sbt 0.12.4. Tutto bene. Ho costruito i miei progetti con sbt. Ieri […]

Scala asInstanceOf con tipi parametrizzati

Vorrei scrivere una funzione che consente di digitare A, dove A può essere ad esempio List [Int] o un tipo di parametro più complicato come Map [Int, List [Int]]. def castToType[A](x: Any): A = { // throws if A is not the right type x.asInstanceOf[A] } In questo momento, a causa della cancellazione dei caratteri […]