Script de table - terminé ?Lors du déclenchement d'un script Tables à partir d'un autre script, comment puis-je vérifier si un script de table s'est terminé (sans erreur) ?
L'ajout d'une fonction de retour n'est pas autorisé :

Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << run Script( "Bivariate" );
dt << New Script(
"test", JSL Quote(
print(1);
return(1);
),As String( 1 ));
dt << New Script(
"test2", JSL Quote(
New Namespace("myScript");
myScript:finished=0;
print(1);
myScript:finished=1;
),
As String( 1 )
);
If( Not( dt << run Script( "test" ) ),
Stop()
);
dt << run Script( "test2" );
If( Not( myScript:finished ),
Stop()
);
Automatisation et scriptRe : Script de table - terminé ?dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << deletescripts( "test" );
dt << New Script(
"test", JSL Quote(
if(test<0,
0 // either this is the last value from the if
,
print("ok");
1 // or this is the last value from the if
); // the if() value is either 0 or 1
), // the script's value is the last statement executed value
As String( 1 )
);
test = 37;
Show( test, dt << run Script( "test" ) ); // "ok",1
test = -42;
Show( test, dt << run Script( "test" ) ); // 0
edit: include() fonctionne de la même manière.
Re : Script de table - terminé ?Ah si simple 
Merci @Craige_Hales
Re : Script de table - terminé ?Pour les fonctions il n'y a pas de différence entre les deux variantes ?
testFunc1= Function({},return(1));
testFunc2= Function({},1);
show(testFunc1);
show(testFunc2);Re : Script de table - terminé ?return(1) a un avantage majeur s'il est imbriqué dans les boucles for et if : il renvoie la réponse sans avoir besoin d'être positionné autrement pour être la dernière expression évaluée. L'implémentation de return(1) en C++ est plus lente que de simplement se terminer par l'expression souhaitée ; vous remarquerez sur les fonctions courtes qui sont appelées des millions de fois. Donc, dans votre exemple, j'ai tendance à écrire
testFunc2= Function({},
/*return*/ 1
);
avec le commentaire. Ou utilisez return(1) si la clarté est plus importante. Les instructions break() et continue() fonctionnent à peu près de la même manière. Les utiliser pour plus de clarté ou d'une manière qui les exécute rarement est parfait.
Re : Script de table - terminé ?Bonne idée avec le commentaire /*return*/.
J'ai déjà supprimé un de mes "1" - parce qu'il avait l'air tellement inutile 
Quelques jours plus tard, sans le lien direct avec le "1" supprimé, il était assez difficile de savoir ce qui ne va pas...