gpt4 book ai didi

scala - 我应该如何编写带有两个变量的通用函数并将它们添加到 Scala 中?

转载 作者:行者123 更新时间:2023-12-04 17:44:08 27 4
gpt4 key购买 nike

我试过这种方式:

  def add[A](a:A, b:A): A = {
a + b
}

编译器说:

Error:(47, 9) type mismatch; found : A required: String a + b



有谁告诉我为什么会发生这个错误?谢谢你。

最佳答案

实际上 Scala 没有看到 Double 的 + 和 Int 的 + 之间的任何共同点,而且 Scala 通过使用 Numeric 来保持这种限制。及其子类,如 Fractional 和 Integral。你可以用不同的方式做你的工作,如下所示

def addition[T](x: T, y: T)(implicit num: Numeric[T]): T = {
import num._
x + y
}

或者
def add[A](x: A, y: A)(implicit numeric: Numeric[A]): A = numeric.plus(x, y)

关于scala - 我应该如何编写带有两个变量的通用函数并将它们添加到 Scala 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42105319/

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