Questions marquées «scala»

312
Lire l'intégralité du fichier dans Scala?

Quelle est une manière simple et canonique de lire un fichier entier en mémoire dans Scala? (Idéalement, avec contrôle de l'encodage des caractères.) Le mieux que je puisse trouver est: scala.io.Source.fromPath("file.txt").getLines.reduceLeft(_+_) ou suis-je censé utiliser l'un des idiomes les plus...

311
Quelle est la fonction d'application dans Scala?

Je ne l'ai jamais compris à partir des noms artificiels de démêlage et de verbe (une AddTwoclasse en a un applyqui en ajoute deux!). Je comprends que c'est du sucre syntaxique, donc (je l'ai déduit du contexte) il doit avoir été conçu pour rendre le code plus intuitif. Quel sens donne une classe...

308
Comprendre implicitement dans Scala

Je parcourais le didacticiel Scala Playframework et je suis tombé sur cet extrait de code qui m'a laissé perplexe: def newTask = Action { implicit request => taskForm.bindFromRequest.fold( errors => BadRequest(views.html.index(Task.all(), errors)), label => { Task.create(label)...

276
Comment sortir d'une boucle dans Scala?

Comment sortir une boucle? 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 } } Comment transformer des boucles imbriquées...

262
Scala: rejoignez un itérable de chaînes

Comment "joindre" un itérable de chaînes par une autre chaîne dans Scala? val thestrings = Array("a","b","c") val joined = ??? println(joined) Je veux que ce code sorte a,b,c(joindre les éléments par

258
Programmation Scala pour Android

J'ai suivi le tutoriel sur Scala et Android avec Scala 2.7.3 final. L'application Android qui en résulte fonctionne, mais même l'application la plus élémentaire prend plusieurs minutes (!) À compiler et a besoin de 900 ko compressés, ce qui est un frein pour les applications mobiles. De plus, l'IDE...

253
Qu'est-ce que «soulever» à Scala?

Parfois, lorsque je lis des articles dans l'écosystème Scala, je lis le terme «levage» / «levé». Malheureusement, il n'est pas expliqué ce que cela signifie exactement. J'ai fait des recherches, et il semble que le levage a quelque chose à voir avec des valeurs fonctionnelles ou quelque chose comme...

250
Scala: types abstraits vs génériques

Je lisais A Tour of Scala: Abstract Types . Quand est-il préférable d'utiliser des types abstraits? Par exemple, abstract class Buffer { type T val element: T } plutôt que les génériques, par exemple, abstract class Buffer[T] { val element: T

248
Que fait un val paresseux?

J'ai remarqué que Scala fournissait lazy vals. Mais je ne comprends pas ce qu'ils font. 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 Le REPL montre que yc'est un lazy val, mais en quoi est-il différent d'un...

239
Appel par nom vs appel par valeur dans Scala, clarification nécessaire

Si je comprends bien, dans Scala, une fonction peut être appelée soit par valeur ou de nom Par exemple, étant donné les déclarations suivantes, savons-nous comment la fonction sera appelée? Déclaration: def f (x:Int, y:Int) = x; Appel f (1,2) f (23+55,5) f (12+3, 44*11) Quelles sont les règles s'il...