的Clojure提供了一個稱爲doto
宏接受其參數和功能列表,基本上調用每個函數的前面加上(評估)的說法:`doto`斯卡拉
(doto (new java.util.HashMap) (.put "a" 1) (.put "b" 2))
-> {a=1, b=2}
是否有某種方式來實現的東西在斯卡拉類似?我設想的東西有以下形式:
val something =
doto(Something.getInstance) {
x()
y()
z()
}
這將等同於
val something = Something.getInstance
something.x()
something.y()
something.z()
也許它使用scala.util.DynamicVariable
S爲可能嗎?
注意,與工廠方法,如Something.getInstance
,則無法使用普通的斯卡拉模式
val something =
new Something {
x()
y()
z()
}
作爲一個側面說明,這個問題是一個dup。但是,我找不到原文。 –