Why isn't it possible to have this:
def main(args:Array[String]) {
val whatever:String // Have it uninitialized here
if(someCondition) {
whatever = "final value" // Initialize it here
}
}
I don't understand why this shouldn't be legal. I know that I can make it a var
, but why do we have to initialize the val
exactly when we declare it? Doesn't it seem more logical to be able to initialize it later?