Versuch, zwei Methoden namens foo
zu definieren, von denen eine zwei Parameterlisten enthält und die andere nur eine hat. Scheint nicht zu funktionieren:Ist es unzulässig, Methoden mit mehreren Parameterlisten zu überladen?
object Bar {
def foo(a: Int)(b: Int): Int = a+b
def foo(a: Int): Int = foo(a)(0)
}
error: ambiguous reference to overloaded definition,
both method foo in object Bar of type (a: Int)Int
and method foo in object Bar of type (a: Int)(b: Int)Int
match argument types (Int)
def foo(a: Int): Int = foo(a)(0)
^
??? nein, sie tun nicht ...
'Bar.foo (1)' würde berufen, die von den beiden? – pedrofurla
Siehe auch: https://issues.scala-lang.org/browse/SI-2383 –
@ pedrofurla würde es offenbar die mit der einzigen Parameterliste aufrufen. – Dima