List of Scala’s “magic” functions

As far as I know:

Getters/setters related:

apply
update
identifier_=

Pattern matching:

unapply
unapplySeq

For-comprehensions:

map
flatMap
filter
withFilter
foreach

Prefixed operators:

unary_+
unary_-
unary_!
unary_~

Beyond that, any implicit from A to B. Scala will also convert A <op>= B into A = A <op> B, if the former operator isn’t defined, “op” is not alphanumeric, and <op>= isn’t !=, ==, <= or >=.

And I don’t believe there’s any single place where all of Scala’s syntactic sugars are listed.

Leave a Comment