【发布时间】:2017-09-25 21:26:01
【问题描述】:
我正在尝试制作自己组合的功能 -
def genericComposition[T](f: T => T, g: T => T) = {
def call(x: T) = g(f(x))
call _
}
def testComposition[T](g: T=>T, n: Int) = {
val call = genericComposition[T](g,g)
def helper(res: T, m: Int) : T = {
if(m == 0) res
else helper(call(res), dec(m))
}
helper(_,n)
}
这应该调用 f 与 f (f(f(x)) n 次的组合,非通用版本,其中所有 T 都是 Int 或 Double 等工作正常,但是当我尝试制作通用版本时,我使用下划线将 x 作为参数传递给辅助函数,但出现错误:
错误:(26, 11) 缺少扩展函数的参数类型 ((x$1: ) => 助手(x$1, n)) 助手(_,n)
^
【问题讨论】:
标签: scala functional-programming