在 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
}
}