Sublinhados e concatenação de strings no List.map com Scala [duplicado]
Esta pergunta já tem uma resposta aqui:
Scala foreach comportamento estranho 5 respostasScala permite que você use um sublinhado para fazer um mapa simples. Então, por exemplo, em vez de escrever:
def roleCall(people: String*){
people.toList.map(x => println(x))
}
... eu posso escrever:
def roleCall(people: String*){
people.toList.map(println(_))
}
No entanto, por algum motivo, não consigo escrever:
def greet(people: String*){
// This won't compile!
people.toList.map(println("Hello " + _))
}
em vez disso, tenho que escrever:
def greet(people: String*){
people.toList.map(x => println("Hello " + x))
}
Alguém pode explicar o porquê?