Scala infix notation

This SKB will teach you a little more about some syntax allowed by the Scala language: infix.

It allows you to remove the.and the()when using a method.

First of all, did you realize that every operation that seems to be “magic” like the+or==are just function like any other. But by habit , we use the infix notation for those by default. It is possible to use the “normal” notation with the.and the()but let's be honest, it looks weird !

You can use the infix notation for every method that takes one argument. Which means you can use it formap,flatMapand all the other ones.

We also kind of saw it quickly previously when we talked aboutreduce. We saw that we could turn

list.reduce ( (a, b) => a.combineWith(b) )
into
list.reduce ( _ combinedWith _ )
You now understand one part of puzzle. The second part being the_that we are going to see soon.

One last note, be careful not to abuse it or the code can become extremely horrible to decipher. You could chain methods are methods and lost track of which value is executing what.

a map _ combined v map _ + 1
This example is hard to read. Doescombinedreturn a list ? What is the secondmapapplied to ? So, be careful !

It is also possible to use infix notation for function that has no arguments, but it is an extra feature, not included by default that you need to enable. To learn more, you can search forscala.language.postfixOpswhich allow you to use infix notation even without an argument.

Reveal more information and clues
Load Exercise