我有以下代碼是工作和打印「的foreach執行」: 泛型與代碼塊返回單元
val buf = ArrayBuffer[() => Unit]()
def add(o:() => Unit) = buf += o
add(() => print("executed "))
print("foreach ")
buf foreach (_())
我想簡化線路3,但它打破在第一行:
val buf = ArrayBuffer[=> Unit]()
def add(o: => Unit) = buf += o
add { print("executed ") }
print("foreach ")
buf foreach (_)
有沒有辦法做到這一點?
*更正:*按名稱參數是_不_懶惰!它們不是在「首次需要時」評估的,它們會在被調用的方法中每次被引用_(動態,而不是靜態)評估。 – 2013-03-16 16:38:39
謝謝,我編輯了我的答案 – EECOLOR 2013-03-16 18:14:48