Scala assigning vals

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?

22
задан Peter Mortensen 24 April 2013 в 18:20
поделиться