For the record, a.map(_)
does not work because it stands for x => a.map(x)
, and not a.map(x => x)
. This happens because a single _
in place of a parameter stands for a partially applied function. In the case of 2*_
, that stands for an anonymous function. These two uses are so close that is very common to get confused by them.