なぜ以下の作品はありませんか?私はFSC 2.8.1でこれをコンパイルすると、私は次のエラーを取得するscala:pimp私のライブラリoverloads
implicit def listExtensions[A](xs : List[A]) = new ListExtensions(xs)
class ListExtensions[A](xs : List[A])
{
def foreach[B](f: (A, Int) => B)
{
var i = 0;
for (el <- xs)
{
f(el, i);
i += 1;
}
}
}
var a = List(1, 2, 3);
a foreach { (el, i) => println(el, i) };
「パラメータの間違った数; = 1期待:foreachの{(EL、I)=>のprintln(EL、I)} ; "私は間違ったことをやっているのですか、単に "私のライブラリを抱きしめる"という手段でオーバーロードされたメソッドを追加する方法はありませんか?
P.S.私は、foreachのiterate-with-current-indexの風味(私はzipWithIndexメソッドに気づいています)を実装するのではなく、オーバーロードと暗黙的な変換がどのように一緒に働くかについては不思議です。
[暗黙的な変換を介してのIntに算術演算子を上書き]の可能な重複(http://stackoverflow.com/questions/4443783/overriding-arithmetic-operators-on -int-via-implicit-conversions) –