Call-by-name in Scala

(für Parameter mit =>)
object Up {
    def If[T] (b : Boolean, yeah : => T, noh : => T) : T = {
        if (b) yeah else noh
    }  
    def main(args: Array[String]) {
        var x : Int = 0; var y : Int = 0
        If (false, x = 1, y = 2)
        println (x, y)
    }
}
Man benötigt call-by-name zur Definition von Abstraktionen über den Programmablauf.

Übung: While als Scala-Unterprogramm



Johannes Waldmann 2011-01-18