Actualizar una matriz asociativa que es una variable global de claseHola,
Tengo una variable de clase que es una matriz asociativa.
define class (
"class name",
ass_array = associative array ();
meth1 = method({x,y},
for(i = 1, n <= n items(x),i++
xi = x[i];
yi = y[i];
try(
ass_array << insert(xi, Insert(eval list(ass_array[eval(xi)]), eval(yi))),
ass_array << insert(xi, List(eval(yi)))
);
);
);
);pero cuando llamo a esta clase para actualizar la matriz asociativa, la matriz todavía está vacía. ¿Alguna idea?
También vale la pena señalar que probé esta sintaxis externa a la clase para actualizar una matriz asociativa y actuó como se esperaba.
Automatización y secuencias de comandosventanasRe: Actualizar un arreglo asociativo que es una variable global de claseCreo que es posible que desees agregar un método de inicialización.
Names Default To Here(1);
Define Class("class name",
ass_array = Associative Array();
_init_ = Method({},
this:ass_array = ass_array;
);
meth1 = Method({x, y},
ass_array = Associative Array();
For(i = 1, i <= N Items(x), i++,
xi = x[i];
yi = y[i];
Try(
ass_array << Insert(xi, Insert(Eval List(ass_array[Eval(xi)]), Eval(yi))),
ass_array << Insert(xi, List(Eval(yi)))
);
);
);
);
cn = New Object("class name");
show(cn:ass_array);
cn:meth1({"a", "b"}, {"c", "d"});
show(cn:ass_array);
esto no es necesario y no estoy seguro de si debería usarse (pero se usa aquí https://www.jmp.com/support/help/en/18.0/#page/jmp/advanced-classes. shtml#ww761769 )
Re: Actualizar un arreglo asociativo que es una variable global de claseHola,
entonces tengo un método de inicio. No saqué todo el flujo de trabajo de la clase por pereza. No pensé que fuera necesario solucionar el problema.
Re: Actualizar un arreglo asociativo que es una variable global de clasePero crear una instancia de la variable con this:array parecía haber funcionado.
Por qué esto hace una diferencia?
Re: Actualizar un arreglo asociativo que es una variable global de claseCómo utilizar Definir clase podría dar alguna explicación