exec - exécution d'un script (fichier de commandes)
exec(path [,mode]) exécute séquentiellement les instructions Scilab contenues dans le fichier spécifié par path avec le mode d'exécution optionnel mode .
Les différentes valeurs de mode sont :
exec(fun [,mode]) exécute la fonction fun comme un script : aucun argument n'est utilisé en entrée ou en sortie, et l'exécution se fait dans l'environnement courant (les variables créées dans la fonction sont conservées après l'exécution). Cette forme est plus efficace, car ainsi les instructions du script peuvent être pré-compilées (voir getf, comp). Cette méthode d'exécution des scripts permet aussi de stocker des scripts comme des fonctions dans des librairies.
Si une erreur se produit pendant l'exécution, si la chaîne de caractères 'errcatch' est présente, exec ne produit pas de message d'erreur, mais stoppe l'exécution du script et renvoie une valeur de ierr égale au numéro de l'erreur. Si la chaîne 'errcatch' n'est pas présente, la gestion habituelle des erreurs est utilisée.
// création d'un script write(TMPDIR+'/myscript','a=1;b=2') // on l'exécute exec(TMPDIR+'/myscript') who // création d'une function function y=foo(x),a=x+1;y=a^2,endfunction clear a b // appel à la fonction foo(1) // a est une variable créée dans l'environnement de la fonction foo // elle est détruite à la sortie de la fonction. who x=1 // on crée la variable x pour qu'elle soit connue à l'exécution de foo exec(foo) // a et y ont été créées dans l'environnement courant who