
Professional Scala
By :

In this section, we'll look at the Scala features that make it easy to write small DSLs:
Flexible syntax for method invocation
By-name parameters
Extension methods and
Value
classes
We'll use all of these features in the next section when we create our own DSL in Scala.
Scala has a
flexible syntax for method invocations that makes it possible to, in some
cases, omit the dot (
.
) and parentheses (
()
) when invoking methods.
The rules are as follows:
For methods that are of arity-
0
, meaning they don't take any parameters, the parentheses can be omitted and you can use the postfix notation.
For methods with an arity of
1
or more, meaning they take one or more parameters, it's possible to write the method using infix notation.
Here's an example of using infix notation when invoking
filter
:
List.range(0, 10).filter(_ > 5) List.range(0, 10) filter (_ > 5)
And here's an example of omitting the parentheses when invoking...
Change the font size
Change margin width
Change background colour