Recuperar biblioteca de funcionesUn conjunto de funciones que admiten las capacidades de recuperación y reinicio en las GUI de JSL. La biblioteca se analiza aquí: Total Recall: una nueva estrategia para el soporte de recuperación en aplicaciones JMP.
28 de marzo de 2023: actualizado a v2 gracias a las contribuciones de @hogi
Desarrollo de aplicaciones analíticasUtilidadesRe: Recuperar biblioteca de funciones@msharp
Es fácil desactivar el modo detallado simplemente colocando una variable al inicio del script:
verbose = 0;
y luego usarlo en los comandos. Esto es lo que hago. Luego puedes encenderlo o apagarlo a voluntad. Como dije en la publicación del blog, prefiero las funciones de conversación, así que dejo activada la opción detallada hasta que esté seguro de que las funciones de recuperación funcionan correctamente y luego las desactivo.
En cuanto a su otro punto, diría que es una cuestión de preferencia personal. El flujo de trabajo que usted describe (tener que cerrar y volver a abrir un complemento) me volvería loco. Tener un botón de reinicio me parece más elegante: no se interrumpe el flujo de trabajo, simplemente se restablece la interfaz gráfica de usuario (como en Graph Builder). Configurar una función de reinicio es solo cuestión de copiar y pegar. La configuración de la interfaz de usuario también es un trabajo que tendrás que hacer de todos modos, así que ¿por qué no usar la función de reinicio para hacer ambas cosas?
METRO
Re: Recuperar biblioteca de funcionesEncontré mi camino aquí desde: https://community.jmp.com/t5/JMP-Wish-List/Add-builtin-quot-Recall-quot-message-to-all-Windows-created-by/idi-p/50963
Código impresionante.Realmente aprecio el trabajo que realizaste.Definitivamente parece un guión valioso.
Sólo un par de comentarios.Siento que has complicado demasiado esto, lo que hace que sea más difícil para otra persona utilizar/encontrar sentido al código.No necesita resetRoles, un uso siempre puede simplemente cerrar la ventana y volver a abrirla.Si desea ahorrarles un clic, puede crear un botón para hacerlo por ellos.Una vez que esto desaparezca, también puede deshacerse de genArrays e insertar la lógica clave en storeRoles, ya que el único momento en el que necesita almacenar información es en esta función.Esto le dejaría con dos funciones, storeRoles() que un usuario conectaría a sus botones Aceptar y recordarRoles.Un usuario solo necesitaría alimentar a storeRoles con los cuadros de visualización, qué son y un espacio de nombres para almacenar los valores.RecallRoles sería entonces aún más simple: solo necesitaría alimentarlo con el espacio de nombres y él haría el resto.
Por último, la opción detallada siempre debe estar desactivada de forma predeterminada.
Re: Recuperar biblioteca de funciones@gzmorgan0
Verdadero: Eliminar símbolos() sería basura cualquier implementación de un espacio de nombres con nombre, incluidos el suyo y el mío. En mi opinión, es un poco descuidado usar Eliminar símbolos() fuera de la depuración; se supone que sus variables son las únicas importantes en la memoria, pero no hay mucho que pueda hacer para detenerlo... Un colega me dio algunas ideas sobre una estrategia para poner cosas fuera de la memoria en la que estoy trabajando para implementar. Esta alternativa debería ser sólida ante ese problema.
Dicho esto, el objetivo de la biblioteca era (como indica esta publicación de blog: Enlace al blog ) para crear un recurso que simplifique el flujo de trabajo de configuración de una función de recuperación porque es una característica muy útil e importante para los usuarios. Nunca fue hacer algo. infalible .
Re: Recuperar biblioteca de funcionesMETRO,
Esto es interesante, sin embargo, ¿no se perdería todo si un script ejecutara el siguiente comando?
Delete Symbols();
Quizás me perdí algo.
Decidimos utilizar una matriz asociativa de espacio de nombres con nombre para implementar la recuperación en nuestra aplicación de ejemplo creada con el generador de aplicaciones y en nuestra versión JSLC de ejemplo de Fit Y by X; ambos hechos para nuestro libro, JSL Companion 2nd ed., capítulos 10 y 7, respectivamente.