Perguntas com a marcação «scala»

312
Leia o arquivo inteiro no Scala?

O que é uma maneira simples e canônica de ler um arquivo inteiro na memória no Scala? (Idealmente, com controle sobre a codificação de caracteres.) O melhor que posso apresentar é: scala.io.Source.fromPath("file.txt").getLines.reduceLeft(_+_) ou devo usar um dos idiomas terríveis de Java , o...

311
Qual é a função aplicar no Scala?

Eu nunca entendi a partir dos substantivos não ordenados e verbais (uma AddTwoclasse tem umapply exemplos que adiciona dois!). Entendo que é um açúcar sintático, então (deduzi do contexto) ele deve ter sido projetado para tornar algum código mais intuitivo. Qual o significado de uma classe com...

308
Entendendo implícito no Scala

Eu estava fazendo o meu caminho através do tutorial Scala playframework e me deparei com este trecho de código que me deixou intrigado: def newTask = Action { implicit request => taskForm.bindFromRequest.fold( errors => BadRequest(views.html.index(Task.all(), errors)), label => {...

276
Como faço para sair de um loop no Scala?

Como faço para quebrar um loop? 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 } } Como transformar aninhados...

258
Programação Scala para Android

Eu segui o tutorial no Scala e Android com o Scala 2.7.3 final. O aplicativo Android resultante funciona, mas mesmo o aplicativo mais básico leva vários minutos (!) Para compilar e precisa de 900 kb compactados, o que é uma barreira para aplicativos móveis. Além disso, o IDE fica sem memória de vez...

253
O que é "levantamento" no Scala?

Às vezes, quando leio artigos no ecossistema Scala, leio o termo "levantamento" / "levantado". Infelizmente, não está explicado o que isso significa exatamente. Eu fiz algumas pesquisas e parece que o levantamento tem algo a ver com valores funcionais ou algo assim, mas não consegui encontrar um...

248
O que um val preguiçoso faz?

Notei que Scala fornece lazy vals. Mas eu não entendo o que eles fazem. 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 O REPL mostra que yé um lazy val, mas como é diferente de um normal...