gpt4 book ai didi

scala - 在scala中总和中的A是什么[B> : A](implicit num: Numeric[B]): B

转载 作者:行者123 更新时间:2023-12-05 00:25:56 25 4
gpt4 key购买 nike

我在 scala 中看到了这个方法List.sum

sum[B >: A](implicit num: Numeric[B]): B

现在我知道它需要任何 num要隐式转换为 Numeric[B] 的参数这意味着它的 typeclass Numeric然而我不明白的是这是什么 A如果实现块根本没有引用它,就在那里做。

返回值为 B和实现是
foldLeft(num.zero)(num.plus)

num也是 Numeric[B] 类型所以如果返回值不是指 A和实现不引用 A为什么需要它?

最佳答案

它需要能够对列表的内容进行操作,即A s。因此,B必须是 A 的父类(super class),这是什么B >: A方法。

(特别是, num.plus 必须接受 A 参数以匹配 fold 的签名。)

关于scala - 在scala中总和中的A是什么[B> : A](implicit num: Numeric[B]): B,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23136762/

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