Articles of scala

Funções vs methods em Scala

Estou assistindo Runar Bjarnason apresentar a Programação Funcional para Iniciantes , e às 14:45 ele define um método: def isDivisibleBy(k: Int): Int => Boolean = i => i % k == 0 e uma function: val isEven = isDivisibleBy(2) Quais são os prós e os contras de definir isEven como uma function e não como […]

De onde vem a expressão idiomática “flatmap that s ***” no Scala?

O que é tão poderoso sobre flatmap que merece tal lugar no folclore de Scala?

Quais são as classs de tipo em Scala úteis?

Pelo que entendi desta postagem do blog “classs de tipo” no Scala é apenas um “padrão” implementado com características e adaptadores implícitos. Como o blog diz que se eu tiver o traço A e um adaptador B -> A então eu posso invocar uma function, que requer o argumento do tipo A , com um […]

Equivalente ao Scala do Java java.lang.Class Object

A questão é melhor explicada por um exemplo: Em Java para um JPA EntityManager, posso fazer o seguinte (a conta é minha class de entidade): Account result = manager.find(Account.class, primaryKey); Em Scala, minha tentativa ingênua é: val result = manager.find(Account.class, primaryKey) Mas quando eu tento usar Account.class no Scala, parece não gostar disso. Como posso […]

Qual é o ponto da class Opção ?

Eu não sou capaz de entender o ponto da class Option[T] em Scala. Quer dizer, eu não consigo ver nenhum avanço de None sobre null . Por exemplo, considere o código: object Main{ class Person(name: String, var age: int){ def display = println(name+” “+age) } def getPerson1: Person = { // returns a Person instance […]

Qual é a vantagem de usar classs abstratas em vez de traços?

Qual é a vantagem de usar uma class abstrata em vez de uma característica (além do desempenho)? Parece que classs abstratas podem ser substituídas por traits na maioria dos casos.

Qual é a diferença entre def foo = {} e def foo () = {} no Scala?

Dadas as seguintes construções para definir uma function no Scala, você pode explicar qual é a diferença e quais serão as implicações? def foo = {} vs. def foo() = {} Atualizar Obrigado pelas respostas rápidas. Esses são ótimos. A única questão que permanece para mim é: Se eu omitir os parênteses, ainda há uma […]

Como alterar os tipos de coluna no DataFrame do Spark SQL?

Suponha que eu esteja fazendo algo como: val df = sqlContext.load(“com.databricks.spark.csv”, Map(“path” -> “cars.csv”, “header” -> “true”)) df.printSchema() root |– year: string (nullable = true) |– make: string (nullable = true) |– model: string (nullable = true) |– comment: string (nullable = true) |– blank: string (nullable = true) df.show() year make model comment blank […]

Como evitar colunas duplicadas após a junit?

Eu tenho dois frameworks de dados com as seguintes colunas: df1.columns // Array(ts, id, X1, X2) e df2.columns // Array(ts, id, Y1, Y2) Depois eu faço val df_combined = df1.join(df2, Seq(ts,id)) Acabo com as seguintes colunas: Array(ts, id, X1, X2, ts, id, Y1, Y2) . Eu poderia esperar que as colunas comuns fossem descartadas. Existe […]

Scala foreach comportamento estranho

Eu quero fazer uma iteração de uma lista de valores usando um belo one-liner no Scala. Por exemplo, este aqui funciona bem: scala> val x = List(1,2,3,4) x: List[Int] = List(1, 2, 3, 4) scala> x foreach println 1 2 3 4 Mas se eu usar o espaço reservado _ , isso me dará um […]