gpt4 book ai didi

Scala 函数组合

转载 作者:行者123 更新时间:2023-12-04 22:20:44 24 4
gpt4 key购买 nike

def t[A] = (l:List[A]) => l tail
def r[A] = (r:List[A]) => r reverse
def tr[A] :List[A] => List[A] = t compose r

tr(List(1,2,3,4))

List(3, 2, 1)



正如预期的那样。

但不知何故,我尝试过的每个变体(带有几种类型注释的变体)
def tr = tail compose reverse

失败(未找到 - 值尾)。我错过了一些明显的东西,但我被卡住了。

最佳答案

在scala中,A => B将被视为定义方法compose的Function1,所以如果你想使用tail compose reverse,你需要给scala编译器提示“ class ”是什么,然后改变一个“ 方法 “到” 函数 “。

这个例子 :
def tr[A] = ((x: List[A]) => x.tail) compose ((x: List[A]) => x.reverse)

关于Scala 函数组合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23598586/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com