楽しみのために言ってください私はオーバーライドArray
して再定義したいですmap
:
public dynamic class MagicArray extends Array {
public override function map(f:Function, thisObject:* = null):Array {
var result:Array = [];
for (var i:int = 0; i < this.length; i++) {
result.push(f(this[i]));
}
return result;
}
}
このエラーが発生します:Method marked override must override another method.
は?
そこで、override
キーワードを削除して再試行しました。これで、すべてが正常にコンパイルされます。しかし、それを使おうとすると:
var a:MagicArray = new MagicArray([1,2,3]);
a.map(function(x) { return x + 1; });
次のエラーが発生します。
Error: Ambiguous reference to map.
では、ここで何が起こっているのでしょうか。どうすればオーバーライドできますmap
か?