Ejecute una función personalizada cuando la condición se cumple en anidado
Una vez que se cumple la condición, solo se ejecuta una función que exporta gráficos a una ventana
Aquí está mi código de muestra:
//cuadro de lista
graph_chk_val = chk_graph << ser seleccionado;
tab_chk_val = chk_tab << ser seleccionado;
anal_chk_val = chk_analysis << ser seleccionado;
list_selected = graph_chk_val || tab_chk_val || anal_chk_val;
dt = tabla;
para(
i = 1, i <= n elementos (list_selected), i ++,
Si(
"SDET Chart" == list_selected [i], show ("SDET"),
"Sensitiviity" == list_selected [i], sens_graph_exe (),
"Sensitivity CDF" == list_selected [i], sens_cdf_graph_exe (),
"Parametric Boxplot" == list_selected [i], parametric_boxplot_graph_exe (),
);
);
ScriptingRe: Ejecutar una función personalizada cuando la condición se cumple en anidado siNo estoy seguro de entender lo que estás tratando de lograr aquí; ¿Qué parte de tu código no funciona? ¿Desea combinar sens_graph_exe y sens_cdf_graph_exe en una sola función?
Re: Ejecutar una función personalizada cuando la condición se cumple en anidado sigracias por su respuesta, el código y la función están funcionando, el resultado que quiero es ejecutar todas las funciones que satisfacen la condición, pero solo se llama a una función. Intenté depurar usando print ("function1") en todas las condiciones, y todas funcionan, pero cuando uso una función, solo se llama a la primera función seleccionada.
Re: Ejecutar una función personalizada cuando la condición se cumple en anidado siCreo que es porque uso 1 tabla de datos para toda la función que crea el gráfico y hago un análisis de datos, pero cuando los llamé sin usar una declaración anidada if, todos están funcionando.
Re: Ejecutar una función personalizada cuando la condición se cumple en anidado siAquí está su código junto con una ventana simple que contiene casillas de verificación. Cuando ejecuto esto, obtengo una evaluación de fórmula por casilla que está marcada. ¿Es este tu comportamiento esperado?
names default to here(1);
//Window with check boxes
win = New Window( "Check Boxes",
h list box(
chk_graph = check box( { "A", "B" } ),
chk_tab = check box( { "C", "D" } ),
chk_analysis = check box( { "E", "F" } )
);
);
//get check box values
graph_chk_val = chk_graph << get selected;
tab_chk_val = chk_tab << get selected;
anal_chk_val = chk_analysis << get selected;
list_selected = graph_chk_val || tab_chk_val || anal_chk_val;
//For each list item
For( i = 1, i <= N Items( list_selected ), i++,
Write( "\!NList Item " || char(i) || ": " );
//Evaluate a single function based on the item's value
If(
"A" == list_selected[i], Write( "A" ),
"B" == list_selected[i], Write( "B" ),
"C" == list_selected[i], Write( "C" ),
"D" == list_selected[i], Write( "D" ),
"E" == list_selected[i], Write( "E" ),
"F" == list_selected[i], Write( "F" )
)
);Re: Ejecutar una función personalizada cuando la condición se cumple en anidado siNo.
Re: Ejecutar una función personalizada cuando la condición se cumple en anidado si ¿Puede explicar lo que espera que suceda en este ejemplo, quizás explicando qué esperaría que aparezca en el registro y en qué orden? Pido disculpas porque no entiendo lo que estás tratando de hacer.