Esempio n. 1
0
 public Arreglo(int dim1, int dim2)
 {
     this.val = new List <object>();
     for (int i = 0; i < dim1; i++)
     {
         List <object> l2 = new List <object>();
         for (int j = 0; j < dim2; j++)
         {
             object o = Simbolo.NULL;
             l2.Add(o);
         }
         Arreglo arr2 = new Arreglo(l2);
         arr2.dims = 1;
         this.val.Add(arr2);
     }
     this.dims = 2;
 }
Esempio n. 2
0
        public object deepCopy()//para usar en instancias de la misma clase
        {
            List <object> nuevos = new List <object>();

            foreach (object o in val)
            {
                if (o is Null)
                {
                    nuevos.Add(o);
                }
                if (o is BigInteger)
                {
                    nuevos.Add(o);
                }
                else if (o is double)
                {
                    nuevos.Add(o);
                }
                else if (o is char)
                {
                    nuevos.Add(o);
                }
                else if (o is bool)
                {
                    nuevos.Add(o);
                }
                else if (o is string)
                {
                    nuevos.Add(o);
                }
                else if (o is Arreglo a)
                {
                    nuevos.Add(a.deepCopy());
                }
                else if (o is Objeto ob)
                {
                    nuevos.Add(ob.deepCopy());
                }
            }
            Arreglo nuevo = new Arreglo(nuevos);

            nuevo.dims = this.dims;
            return(nuevo);
        }
Esempio n. 3
0
 public Arreglo(int dim1, int dim2, int dim3)
 {
     this.val = new List <object>();
     for (int i = 0; i < dim1; i++)
     {
         List <object> l2 = new List <object>();
         for (int j = 0; j < dim2; j++)
         {
             List <object> l3 = new List <object>();
             for (int k = 0; k < dim3; k++)
             {
                 object o = Simbolo.NULL;
                 l3.Add(o);
             }
             Arreglo arr3 = new Arreglo(l3);
             arr3.dims = 1;
             l2.Add(arr3);
         }
         Arreglo arr2 = new Arreglo(l2);
         arr2.dims = 2;
         this.val.Add(arr2);
     }
     this.dims = 3;
 }