Scala assigning vals

Viewed 6398

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?

5 Answers
Related