在 Scala 中,您可以在应用或正常顺序评估之间进行选择,请参阅“<a href="http://omgo.wordpress.com/2010/06/07/scala-call-by-name-vs-call-by-type /" rel="nofollow">Scala call-by-name (=>) vs call-by-type" 例如。
def byName(a: => Unit) = {
for (i <- 0 until 10) {println(a)}
}
def byValue(a: Unit) = {
for (i <- 0 until 10) {println(a)}
}
var i = 1;
byValue(i = i + 1)
println(i); // 2
byName(i = i + 1)
println(i) // 12
在 F# 中是否同样可能?