Opción 1 de Roasting: Eval(), Parse() y Recursion, una aventura en metaprogramación - Comunidad de usuarios de JMPDe Jed Cambell (Ingeniero de sistemas, JMP US)
Hi Maria,
Aquí hay un código potencial para burlarse: Eval(), Parse() y Recursion, una aventura en metaprogramación - Comunidad de usuarios de JMP
Incluso si no puedo estar en la reunión, siéntete libre de usarlo (me encantaría ver la grabación, al menos). Los comentarios deberían explicar el doble uso de los nombres de las variables y creo que sería mejor usar Expr() en lugar de Eval(Parse())
Mejor,
Jed
Re: Opción 1 de Roasting: Eval(), Parse() y Recursion, una aventura en metaprogramación - Comunidad de usuarios de JMPEso puede funcionar como base para un guión de prueba. El guión de Jed es un "proceso" de cómo se ha construido ese guión, pero si solo tomamos la parte final, funcionaría (en mi opinión).
Así que esta parte:
//determine number of parts
New Window ("How many parts?",
<< Modal,
neb = Number Edit Box (10),
Button Box ("OK", numParts = neb << Get;)
);
show(numParts);
listParts = {};
//Build first portion of script for modal window
//Escape character sequence for " is \!"
a = "
New Window(\!"Get Pass/Fail List\!",
<<MODAL></MODAL>
<P>En este script estos podrían ser algunos de los posibles puntos de "asado":</P>
<UL>
<LI>No hay nombres predeterminados aquí (1) al inicio</LI>
<LI>No hay encabezado para el script</LI>
<LI>Referencias de variables faltantes</LI>
<LI>Creo que el usuario debería poder "salir" ya en la primera ventana modal</LI>
<LI>Permite valores 0, . y negativos para el número de pieza (estos solo crearán una ventana vacía más adelante, no bloquean la aplicación)</LI>
<LI>Los nombres de las variables no son descriptivos</LI>
<LI>Usando Evil(Parse()) que trae consigo muchos problemas (potenciales) diferentes</LI>
<LI>Cómo usar el cuadro de edición de texto cuando solo debería tener dos opciones para seleccionar (Aprobado o Reprobado)<UL><LI> En general, sería mejor utilizar un cuadro combinado, un cuadro de opción o una casilla de verificación.</LI></UL></LI>
<LI>¿Es el valor predeterminado correcto el de Aprobado? En general, establecería el de Reprobado como valor predeterminado (o incluso mejor, "vacío", "no seleccionado" para asegurarme de que el usuario haya hecho una elección)</LI>
<LI>Y si consideramos que este es un script JMP18 (sé que no fue creado para JMP18), actualizaría la ventana modal para usar << Tipo</LI>
<LI>¿Es necesario utilizar listas para recopilar referencias y valores?<UL><LI> No lo es, pero es un método fácil.</LI></UL></LI>
</UL>
<P> </P>
<P>Y no tenemos el propósito exacto de este script. ¿Tiene que tener dos ventanas modales? ¿Es necesario determinar el recuento de partes antes de crear la segunda ventana modal o sería posible tenerlas en la misma ventana O permitir que el usuario agregue más presionando un botón? Pero, ¿estos también podrían considerarse puntos de tostado? ¿Tenías una especificación adecuada antes de comenzar a trabajar en esto? ¿Qué problemas se están resolviendo?</P>
<P> </P>
<P>También puedo crear un script muy básico que veo a menudo (y escribí algo similar cuando comencé). Obtener datos (consulta SQL, abrir una tabla, Excel, etc.), agregar algunas columnas de fórmula, crear una tabla de resumen y luego crear una ventana con algunos informes. Y finalmente guardarlo como .html interactivo.</P>
<P> </P>