Utiliser JSL pour développer des applications efficaces et robustes (UE 2018 415)Niveau : Avancé
Joseph Morgan, développeur statisticien de recherche principal JMP, SAS
Cette session se concentrera sur les constructions JSL qui peuvent s'avérer inestimables lors du développement d'applications efficaces, robustes et prêtes pour la production. Ceux-ci incluent les fonctions de gestion des expressions, la prise en charge de XPath, les espaces de noms et autres. Les idées seront illustrées par des exemples que l'instructeur a collectés au cours des 10 dernières années alors qu'il travaillait avec un large éventail d'utilisateurs de JSL.
Développement d'applications JSLVidéoObjet : Utiliser JSL pour développer des applications efficaces et robustes (UE 2018 415)@Ryan_Gilmore , la vidéo a de nouveau disparu.
Est-il possible de le récupérer une autre fois ?
merci:)
Objet : Utiliser JSL pour développer des applications efficaces et robustes (UE 2018 415)il y a un chapitre dans l'index des scripts :
https://www.jmp.com/support/help/en/18.0/?os=win&source=application#page/jmp/advanced-expressions-macros-and-lists.shtml
Voici une vidéo de webinaire expliquant en détail un cas de candidature :
Exécuter une plateforme sans connaître le nombre ou les noms des colonnes
Objet : Utiliser JSL pour développer des applications efficaces et robustes (UE 2018 415)Le problème:
le programmeur JMP individuel définit si une fonction évalue ou non son argument.
Il n'y a AUCUNE documentation !
Par exemple , Head évalue-t-il son argument ? - qui sait?
Pour rendre notre travail beaucoup plus facile :
L'éditeur JSL pourrait nous aider énormément - en indiquant quelle fonction évalue son argument et laquelle ne le fait pas - et laquelle fait juste quelque chose de Name Expr ()-ish.
Espérons que le vœu obtiendra suffisamment de félicitations :
Mise en évidence de la syntaxe avancée dans l'éditeur JSL
... et l'attention des développeurs JMP pour l'implémenter.
Ré: Utilisation de JSL pour développer des applications efficaces et robustes (UE 2018 415)Hm, je suis partiellement d'accord :
J'aimerais voir plus de vidéos sur la gestion des expressions:)
D'autre part:
Cette vidéo EST LA clé - votre chance de comprendre le concept. Cela vaut vraiment la peine de la regarder 2 à 3 fois.
C'est une bonne pratique de prédire ce qui se passe, puis de comparer avec le résultat réel. Je suppose que chaque programmeur JSL utilise cette approche pour trouver le résultat final et fonctionnel. Mettez une Eval Expr ici, essayez Name Expr là...
Une autre approche : utiliser un autre nom qui facilite la mémorisation de la fonctionnalité.
- Le nom Expr() pourrait être renommé Hé JSL Symbol(Name), donne-moi ton Expression().
- Expr() pourrait être une zone de sécurité, ne touchez pas()
*)
Pour votre exemple,
z = Expr(Expr(Expr(1+2)));
Est en train d'attribuer ...
une expression à une variable z :
et l'expression attribuée est Expr(Expr(1+2)) .
Une troisième approche : si vous vous demandez pourquoi c'est si compliqué, demandez-vous s'il existe un moyen plus simple d'obtenir le même résultat (avec moins d'Expr, d'Eval Expr, de Name Expr , ...).
Après avoir deviné une telle approche alternative, essayez-la et vérifiez si elle fonctionne vraiment...
Si cela ne fonctionne pas, comparez avec l’approche originale et tirez vos conclusions.
*) C'est ce qui m'a un peu intrigué :
Expr() fonctionne comme une zone de sécurité, ne touchez pas(). OK.
Mais à l'intérieur d'un Eval Expr(), le même Expr() agit comme :
Me voici, veuillez évaluer ! - et garder le reste intact()
C'est plutôt le contraire : )
x= Expr( 1 + 2);
y = Eval Expr (Sin(4) + Expr(1 + 2));
Objet : Utiliser JSL pour développer des applications efficaces et robustes (UE 2018 415)La fonction Exp() et sa famille sont trop difficiles à comprendre même après avoir passé des heures à regarder le script et le journal. Ce n’est pas du tout intuitif. J'adorerais regarder des vidéos supplémentaires ailleurs expliquant le caractère pratique de ces fonctions.
Par exemple
x = Expr(Expr(Expr(1+2)));
donne un résultat alors que je suppose qu'il s'agit simplement d'une affectation d'une variable "x" à une expression. Mon intuition n'est pas le résultat de cette ligne.
Objet : Utiliser JSL pour développer des applications efficaces et robustes (UE 2018 415)#1 Gestion des expressions
#2 Indexation intelligente de l'arborescence d'affichage
Imaginez simplement la puissance que Jmp/JSL obtiendra via #1 X #2 :
Indexation d'expression : accès en lecture et en écriture
... ou même Expression Xpathing ?
Objet : Utilisation de JSL pour développer des applications efficaces et robustes (UE 2018 415)@ collègues:
la présentation et le fichier JSL sont disponibles en bas de cette page
La vidéo n'est plus disponible ?
merci de l'avoir récupéré : )
Objet : Utiliser JSL pour développer des applications efficaces et robustes (UE 2018 415)Les liens de téléchargement ne fonctionnent pas
Objet : Utiliser JSL pour développer des applications efficaces et robustes (UE 2018 415)Superbe présentation. Je pense que « sucre syntaxique » est ma nouvelle expression préférée !