Preguntas etiquetadas con scala

312
¿Leer todo el archivo en Scala?

¿Cuál es una manera simple y canónica de leer un archivo completo en la memoria en Scala? (Idealmente, con control sobre la codificación de caracteres). Lo mejor que se me ocurre es: scala.io.Source.fromPath("file.txt").getLines.reduceLeft(_+_) o se supone que debo usar uno de los espantosos...

311
¿Cuál es la función de aplicación en Scala?

Nunca lo entendí a partir de los nombres inventados de desorden y verbo (¡una AddTwoclase tiene un applyque agrega dos!) Ejemplos. Entiendo que es azúcar sintáctico, por lo que (deduje del contexto) debe haber sido diseñado para hacer que un código sea más intuitivo. ¿Qué significado da una clase...

308
Comprensión implícita en Scala

Estaba abriéndome camino a través del tutorial de Scala Playframework y me encontré con este fragmento de código que me tenía desconcertado: def newTask = Action { implicit request => taskForm.bindFromRequest.fold( errors => BadRequest(views.html.index(Task.all(), errors)), label => {...

276
¿Cómo salgo de un bucle en Scala?

¿Cómo rompo un bucle? var largest=0 for(i<-999 to 1 by -1) { for (j<-i to 1 by -1) { val product=i*j if (largest>product) // I want to break out here else if(product.toString.equals(product.toString.reverse)) largest=largest max product } } ¿Cómo convierto los bucles anidados en...

262
Scala: únete a un iterable de cadenas

¿Cómo "unir" un iterable de cadenas por otra cadena en Scala? val thestrings = Array("a","b","c") val joined = ??? println(joined) Quiero que salga este código a,b,c(unir los elementos con

258
Programación Scala para Android

He seguido el tutorial en Scala y Android con Scala 2.7.3 final. La aplicación de Android resultante funciona, pero incluso la aplicación más básica tarda varios minutos (!) En compilarse y necesita 900 kb comprimidos, lo que es un obstáculo para las aplicaciones móviles. Además, el IDE se queda...

253
¿Qué es "levantar" en Scala?

A veces, cuando leo artículos en el ecosistema de Scala, leo el término "levantar" / "levantar". Desafortunadamente, no se explica qué significa eso exactamente. Investigué un poco, y parece que el levantamiento tiene algo que ver con valores funcionales o algo así, pero no pude encontrar un texto...

250
Scala: tipos abstractos vs genéricos

Estaba leyendo Un recorrido por Scala: Tipos abstractos . ¿Cuándo es mejor usar tipos abstractos? Por ejemplo, abstract class Buffer { type T val element: T } más bien que los genéricos, por ejemplo, abstract class Buffer[T] { val element:

248
¿Qué hace un vago val?

Me di cuenta de que Scala proporciona lazy vals. Pero no entiendo lo que hacen. scala> val x = 15 x: Int = 15 scala> lazy val y = 13 y: Int = <lazy> scala> x res0: Int = 15 scala> y res1: Int = 13 El REPL muestra que yes un lazy val, pero ¿en qué se diferencia de un normal...