In Scala, what exactly does 'val a: A = _' (underscore) mean?
What exactly does val a: A = _ initialize a value to? Is this a typed null? Thanks.
val a: A = _ is a compile error. For example:
scala> val a: String = _ <console>:1: error: unbound placeholder parameter val a: String = _ ^
What does work is var a: A = _ (note var instead of val). As Chuck says in his answer, this initialises the variable to a default value. From the Scala Language Specification:
0 if T is Int or one of its subrange types, 0L if T is Long, 0.0f if T is Float, 0.0d if T is Double, false if T is Boolean, () if T is Unit, null for all other types T.