0
在Scala中,你可以做一些事情,比如傳入一個函數變量作爲參數等,但我想知道是否可以有更多的模板類功能?在這個簡單的例子(不編譯,只是我想要的骨架),包裝函數包含一些幾乎完全相同的代碼,但只有一行是不同的。假設包裝是一個長的骨架,我不想寫兩次,我可以通過sub1
或sub2
?注意這兩個函數具有不同的簽名,這使得它不適合咖喱解決方案:正常源代碼中的模板方法?
object MyTemplate{
def sub1(a: Int): String={
a.toString
}
def sub2(b: String, c: String): Int={
return b.toInt*x
}
def wrapper(i: Int)(f: ???): Double ={
if (xxxx)
do something
else
do something else
[this line needs to call either sub1() or sub2() ]
common code continues
}
}
獲得「動態方法」調用所需參數的假設條件是什麼?你會接受將它們作爲'wrapper'的進一步參數嗎? –