gpt4 book ai didi

Scala 打字 : How to Ensure Numeric Type

转载 作者:行者123 更新时间:2023-12-03 16:56:29 26 4
gpt4 key购买 nike

我在 Scala 中有一个打字问题的小问题。在 Haskell 中,我可以这样做:

add :: (Num a) => (a,a) -> (a,a) -> (a,a)

这样,我就可以扔进 add任何支持数字的类型 +等等。
我想要一个 Scala 类,就像这样:
case class NumPair[A <: Numeric](x: A, y: A)

但这似乎不起作用。但由于 Scala 文档, Numeric[T]是允许这些操作的唯一特征,并且似乎由 Int 扩展。 , Float等等。

有小费吗?

最佳答案

case class NumPair[A](x:A, y:A)(implicit num:Numeric[A])
Numeric实例本身没有被 Int 扩展, Float等,但它是作为隐式对象提供的。有关更长的解释,请参阅 here .

关于Scala 打字 : How to Ensure Numeric Type,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5328574/

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