La evaluación del símbolo es demasiado recursivaHola,
Soy nuevo en JSL y Estoy buscando cualquier documentación (o ayuda directa) que descubra por qué recibí este error:
Symbol evaluation is too recursive (25 levels). in access or evaluation of 'gchFailed' , gchFailed/*###*/
Aquí está mi conjetura sobre qué información podría ser útil. Por favor, ayúdame. ¡Gracias por adelantado!
Tengo dos scripts, un principal y un archivo de encabezado. Mi archivo principal incluye () el archivo de encabezado, que es un conjunto de definiciones de funciones. Ambos scripts usan nombres predeterminados aquí (1) que pueden ser el problema. Tengo muchas funciones que usan el mismo nombre de variable "gchFailed" como variable local. El error se produce cuando llamo a las siguientes funciones:
//within header file, function definition
processGCHFile = function({}, {Default Local},
gchFailed = 0;
if(/* failCase */, gchFailed = 1);
{gchFailed, otherReturnValue}; //return values
);
//within main = function({}, {Default Local}, /*main code*/)
gchRet = processGCHFile(gchFile, saveMap); //return values
gchFailed = gchRet[1]; //this works fine
gchDT = gchRet[2];
if(gchFailed, //this throws the error
print("Failed");
);
Re: la evaluacion del simbolo es demasiado recursivaGracias jim Veo tu preocupación y tu respuesta me fue útil
. Estaba tratando de comentar secciones de código para reducir el desorden. Descarté esas secciones como posibles puntos problemáticos. Como ha dicho, ¡asegurarse de que los valores se devuelvan (evalList) funcionó!
Re: la evaluacion del simbolo es demasiado recursiva¡Gracias, Craige! Trabajado como un encanto. Supongo que las expresiones JMP todavía me están fallando.
Re: la evaluacion del simbolo es demasiado recursivaNo puedo explicarle el error recursivo, sin embargo, tampoco pude ver cómo funcionaría su código dado mi entendimiento de JSL. El primer problema es que se ha especificado que processGCHFile no pasa variables, mientras que en su código está pasando 2 valores al llamar a la función. Por lo tanto, comenté los valores que se están pasando, ya que en realidad se indican como valores de retorno. El segundo cambio fue simplemente un cambio de "a == 1" para permitir que la función IF () se dispare. Finalmente, creé más específicamente la lista de retorno y luego me aseguré de que su valor fuera el último valor procesado, para garantizar que sea el valor devuelto.
Espero que esté entendiendo el problema y esto les sea útil.
Re: la evaluacion del simbolo es demasiado recursivaCreo que el valor devuelto debería verse así:
evalList( {gchFailed, otherReturnValue} ); //return values
así que la lista contiene valores de las variables en lugar de nombres de las variables.