代码之家  ›  专栏  ›  技术社区  ›  PopKernel

如何在scala3中制作一个通用的数字方法?

  •  0
  • PopKernel  · 技术社区  · 2 年前

    我以前见过这个问题的答案,但对于scala 2,使用 implicit 然而,scala 3缺少 含蓄的 关键字,这让我处于第一位。

    那么,我该如何制作像这个玩具示例这样的通用方法呢

    def add2[T](number: T) = number + 2

    也就是说,我如何编写一个同样适用于的方法 Double , Float , Int 等等

    0 回复  |  直到 2 年前
        1
  •  4
  •   Guru Stron    2 年前

    new in Scala 3 文档提及-隐含词(及其语法)已经 heavily revised 现在你可以通过 using 条款

    def add2[T](number: T)(using num: Numeric[T]): T = {
        import num._
        number + num.fromInt(2)
    }