Ejemplo n.º 1
0
        // TODO accept string
        public Complex(iObject real, iObject imag) : base(Class.COMPLEX)
        {
            if (NilClass.IsNil(real) || NilClass.IsNil(imag))
            {
                throw new TypeError("can't convert nil into Complex");
            }

            if (!real.IsA(Class.INTEGER) && !real.IsA(Class.FLOAT))
            {
                throw new TypeError($"can't convert {real.Class} into Complex");
            }

            if (!imag.IsA(Class.INTEGER) && !imag.IsA(Class.FLOAT))
            {
                throw new TypeError($"can't convert {imag.Class} into Complex");
            }

            Real = real;
            Imag = imag;
        }