=> T
, entspr.
„eine Aktion, die ein T
liefert``
(in Haskell: IO T
)
call-by-name
def F(b:Boolean,x: =>Int):Int = { if (b) x*x else 0 } F(false,{print ("foo "); 3}) // res5: Int = 0 F(true,{print ("foo "); 3}) // foo foo res6: Int = 9Man benötigt call-by-name zur Definition von Abstraktionen über den Programmablauf.
Übung: If, While
als Scala-Unterprogramm