2016-11-03 4 views
0

Scilab peut vraiment être automatisé. Par exemple, vous pouvez utiliser make pour démarrer automatiquement Scilab qui va générer des tracés et les enregistrer au format SVG avec xs2svg, puis démarrez Inkscape pour l'intégrer dans un document Latex (avec du code Latex dans les légendes!).Scilab: dites si nous courons sans tête. Scilab: détecter -nw, -nogui

Lorsque vous utilisez make, il est pratique d'exécuter Scilab sans l'interface principale en l'appelant avec -nw. Si vous n'avez pas besoin de graphiques, il peut même fonctionner sans Java s'il est appelé avec -nogui.

Ce serait bien de pouvoir écrire des scripts qui peuvent être exécutés par un utilisateur ou par make. Avec cela, vous pouvez empêcher la duplication de code tout en permettant un débogage facile et l'écriture de rapports. Mais cela signifie:

  • fermer le script quand il est fait
  • pouvoir sauter certaines parcelles qui ne devrait pas être sauvé
  • etc

Comment détecter les options -nw ou -nogui de dans le script?

Répondre

0

En utilisant getargs

function y = nowindows() 
    y = (getenv("SCILAB_NW","undefined") ~= "undefined") 
endfunction 

alors vous pouvez utiliser cette fonction:

if nowindows() then 
    mprintf("Running without a window.\n") 
    exit() 
end 

Et si vous définissez l'environnement variables SCILAB_NW, nowindows() retourne vrai.

SCILAB_NW = "true" Scilab -nw -f yourscript.sce

Cette solution ajoute de la redondance à la commande utilisée pour exécuter Scilab, mais je l'ai trouvé aucun autre moyen. J'ai également essayé d'utiliser la fonction sciargs mais je l'ai trouvé moins pratique.