Comment puis-je exécuter une .scm script (en dehors de la REPL) avec MIT-Scheme?
J'ai envie de taper quelque chose comme " système de fichier.scm et d'avoir à interpréter le fichier, puis me ramener à ma coquille, plutôt que de le charger dans le REPL.
edit: j'ai essayé schéma de < test.scm et il utilise toujours le REPL, la seule différence est que le régime de sorties lorsque le flux se termine.
Vous devez vous connecter pour publier un commentaire.
scheme <file.scm
devrait fonctionner (tant que vous ne spécifiez pas de--interactive
et stdin n'est pas un terminal, système fonctionne de manière non interactive).Pour exécuter un régime de programme de l'utilisation des MIT Régime:
La
--quiet
option permet de s'assurer que la sortie de votre programme est la seule chose qui s'affiche (c'est à dire que vous ne verrez pas le REPL, selon vos besoins).EDIT: en Raison de la possibilité que vous faites une faute de frappe
<
comme>
, entraînant le remplacement de votre code source, je vous suggère d'encapsulation de la commande ci-dessus dans un shell script ou d'une fonction shell. Par exemple:Ensuite, vous pouvez exécuter
runscheme program.scm
sans craindre que votre code source sera écrasé. (Un merci spécial à Paul Rooney à la concrétisation de ce potentiel erreur à mon attention).Références
scheme --help
:Cette option de ligne de commande semble avoir été injustement oublié de la liste des options de ligne de commande dans la documentation, mais je pense que c'est un legimate option de ligne de commande parce que
scheme --help
montre, et parce que--batch-mode
est utilisé dans d'autres parties du manuel de référence (par exemple,ici).<
la mauvaise voie ou vous permettra de remplacer votre propre code source, ou est-ce seulement moi qui fait des trucs comme ça?runscheme () { scheme --quiet < "$1" }
.Je pense que ce que vous voulez, c'est le SCM. Vous pouvez exécuter une .scm script comme ceci:
$ scm -f foo.scm arg1 arg2 arg3
Voir http://people.csail.mit.edu/jaffer/scm_3.html#SEC28 pour plus de détails.
La SCM page d'accueil: http://people.csail.mit.edu/jaffer/SCM
vérifié
chez --help
, et puis j'ai trouvé ceci(disons que je suis une utilisation chez schéma):Aussi,
--verbose
est très utile: