我要做到這一點,參數是懶惰的,可重複的:斯卡拉的名字重複參數
def f(actions: (=> Try[String])*) = {
actions.map{x =>
if(x.isFailure) throw new Exception()
...
}
}
所以,我可以用這個評估參數:
f(Try("a"), Try("b"), Try[String](new Exception()), Try({print("something"); "d"}))
打印(「東西」 )永遠不會被執行,因爲參數是懶惰的。
而不是:
def f(actions: (() => Try[String])*) = ???
f(() => Try("a"),() => Try("b"),() => Try[String](new Exception()),() => Try({print("something"); "d"}))
它只是書寫感覺無聊。
斯卡拉是否支持第一個?
也許是目前唯一的解決方案。但我認爲如果語言支持它可能會更好。 – LoranceChen