Hi I am new to scala and trying to write addition program in with generic type parameter as shown below
object GenericTest extends Application {
def func1[A](x:A,y:A) :A = x+y
println(func1(3,4))
}
But this does not work .What mistake i am making .
Acould be any type in this case.x + ymeansx.+(y), which would only compile if either a) the typeAhad a method+, or b) the typeAwas implicitly convertible to a type with a method+.The type
scala.Numericprovides the ability to write code that abstracts over the numeric system — it could be called with Double, Int, or even your own exotic numeric system, such as complex numbers.You can add an implicit parameter to your method of type
Numeric[A].In Scala 2.8, this can be shortened: