2009-05-24 4 views
30

Quiero escribir algo como 'scheme file.scm' y hacer que interprete el archivo, y luego llevarme de nuevo a mi shell, en lugar de cargarlo en el REPL.¿Cómo ejecuto un script .scm (fuera de REPL) con MIT-Scheme?

corregir: intenté el esquema < test.scm y todavía usa el REPL, la única diferencia es que el esquema se cierra cuando termina la secuencia.

Respuesta

29

scheme <file.scm debería funcionar (siempre que no especifique --interactive y stdin no es un terminal, el esquema funciona de forma no interactiva).

+0

Esto no cumple el Requisito editado de OP de "no usar REPL". Ver [esta respuesta] (https://stackoverflow.com/a/47724861/5916915). – Flux

2

para ejecutar un programa de sistema basada en el MIT Esquema:

scheme --quiet < program.scm 

La opción --quiet asegura que la salida de su programa es la única cosa que se muestra (es decir, que ganó no veo el REPL, según sus requisitos).

Referencia: scheme --help

--batch modo, --quiet, --silent

suprime el protocolo de puesta de versiones y derechos de autor, y la despedida.

Esta opción de línea de comando parece haberse omitido por error del list of command line options in the documentation. Creo que esta es una opción de línea de comando legimate porque scheme --help lo muestra y porque --batch-mode se usa en otras partes del manual de referencia (por ejemplo, here).

0

comprobado chez --help, y luego me encontré con esto (digamos que estoy usando esquema de chez):

chez --script ./temp.scm 

Además, --verbose es muy útil:

chez --verbose --script ./temp.scm 
Cuestiones relacionadas