3 ms·
There's a lot of stuff which is fine about Scala, but I still like this presentation: https://nurkiewicz.github.io/talks/2014/scalar/#/ https://nurkiewicz.githu
by rgoulter 8y ago
There's a lot of stuff which is fine about Scala, but I still like this presentation:
https://nurkiewicz.github.io/talks/2014/scalar/#/ https://nurkiewicz.github.io/talks/2014/scalar/#/
In particular, this slide is my favourite:
https://nurkiewicz.github.io/talks/2014/scalar/#/22 https://nurkiewicz.github.io/talks/2014/scalar/#/22
// One of these doesn't compile
seq foreach println
seq.foreach{println}
seq.foreach(println)
seq.foreach{println(_)}
seq.foreach(println(_))
seq.foreach(x => println(x))
seq.foreach(x: Int => println(x))
seq foreach{x: Int => println(x)}
seq.foreach{x: Int => println(x)}
seq foreach{case x => println(x)}
seq.foreach{case x => println(x)}
seq foreach{case x: Int => println(x)}
seq.foreach{case x: Int => println(x)}
- mcv 8y agoOnly one? If there's any justice in the world, it's the only one without any brackets. I fear it's one of the many without a dot, though.
- rgoulter 8y agoThis all depends which syntactic conventions you're used to. "a + b" is more readable than "a.+(b)", and so that's what scala allows. I think it's a neat way of allowing operator overloading. "iterable.foreach { ... }" is also readable for a callback. FWIW, the one which doesn't compile is (apparently) "seq.foreach(x: Int => println(x))". https://scastie.scala-lang.org/krtG0VwgTmCNwIxATYFAbg https://scastie.scala-lang.org/krtG0VwgTmCNwIxATYFAbg