Вопрос новичку здесь: я работаю с Flash Builder 4.5 над проектом Actionscript. Я создал следующие классы:
package
{
public class ComplexNumber
{
public var real:Number; // real component
public var imag:Number; // imaginary component
}
}
и
package
{
public class ComplexArray
{
public var real:Array; // real component array
public var imag:Array; // imaginary component array
}
}
и статическая функция:
package
{
public class ComplexDivide
{
public static function v1p0(a:Number, b:Number, // numerator: a+bi
c:Number, d:Number // denominator: c+di
):ComplexNumber
{
var z:ComplexNumber = new ComplexNumber();
var divisor:Number = c*c + d*d;
z.real = (a*c + b*d) / divisor; // real component
z.imag = (b*c - a*d) / divisor; // imaginary component
return z;
}
}
}
и в другом .as файле я пытаюсь вызвать эту функцию
var BXFN_complex:ComplexArray = new ComplexArray();
for (var ii:int = 0; ii <= 2; ii++) {
BXFN_complex[ii] = ComplexDivide.v1p0( 1, 0, 2, 3 );
}
но код внутри этого цикла генерирует следующую ошибку времени выполнения: «ReferenceError: Ошибка # 1056: невозможно создать свойство 0 в ComplexArray». Таким образом, мой код для "BXFN_complex [ii] = ~" неверен. Кто-нибудь знает, как добиться того, что я пытаюсь сделать? По сути, ComplexDivide.v1p0 возвращает два числа, а BXFN_complex - это объект, содержащий два числовых массива, и я хочу назначить ComplexDivide два числа во второй элемент массивов в BXFN_complex.