Questions marquées «scala»

88
Abandonner tôt dans un pli

Quelle est la meilleure façon de terminer un pli tôt? À titre d'exemple simplifié, imaginez que je veuille résumer les nombres dans un Iterable, mais si je rencontre quelque chose que je ne m'attends pas (disons un nombre impair), je pourrais vouloir terminer. Ceci est une première approximation...

88
Convertir une liste Scala en tuple?

Comment puis-je convertir une liste avec (disons) 3 éléments en un tuple de taille 3? Par exemple, disons que j'ai val x = List(1, 2, 3)et je veux convertir cela en (1, 2, 3). Comment puis-je faire ceci?

87
Que signifie param: _ * dans Scala?

Étant nouveau dans Scala (2.9.1), j'ai un List[Event]et je voudrais le copier dans un Queue[Event], mais la syntaxe suivante donne un à la Queue[List[Event]]place: val eventQueue = Queue(events) Pour une raison quelconque, ce qui suit fonctionne: val eventQueue = Queue(events : _*) Mais j'aimerais...

86
Comment attendre plusieurs Futures?

Supposons que j'ai plusieurs futurs et que j'attende que l' un ou l' autre échoue ou que tous réussissent. Par exemple: Soit il y a 3 à terme: f1, f2, f3. Si f1réussit et f2échoue, je n'attends pas f3(et je renvoie l' échec au client). Si f2échoue pendant f1et f3est toujours en cours d'exécution,...

85
Quand utiliser le signe égal dans une déclaration de méthode Scala?

Avec le signe égal: object HelloWorld { def main(args: Array[String]) = { println("Hello!") } } Sans signe égal: object HelloWorld { def main(args: Array[String]) { println("Hello!") } } Les deux programmes ci-dessus s'exécutent de la même manière. Dans le billet de blog Choses que je n'aime pas...