sağlamak için nasıl bir tipleme madde ile Scala'da küçük bir sorun var. Haskell, ben bunu yapabilirsiniz:Scala Yazma: Sayısal Tipi
:add :: (Num a) => (a,a) -> (a,a) -> (a,a)
Bu şekilde, ben add
içine sayısal ve destekler +
vb Bir Scala sınıf için aynı istiyoruz, bu yüzden gibi her türlü atabilir
case class NumPair[A <: Numeric](x: A, y: A)
Ancak bu işe yaramaz. Bu işlemler için izin verir ve görünüyor sadece sürekli Int
daha uzatılması Ama Scala Dokümanlar nedeniyle Numeric[T]
edilir Float
vb
Herhangi bir ipucu?
emin değilim. – Lanbo
Hangi yol belirsiz tür çıkarımını ima eder? - İsterseniz, "Numeric" örneğini açık bir parametre haline getirebilirsiniz, ancak daha sonra her zaman açık bir şekilde iletmeniz gerekir. Bu, Int ', Float gibi türler için gerçekten gereksizdir. Açıkça geçmek isteyip istemediğinizi seçebilirsiniz. – Madoc