Cuando uso IEx y cometo un error tipográfico como corchete adicional o ", la mayoría de las veces obtengo un error de sintaxis. Pero hay casos como este:
iex(3)> Enum.each '12345', &(IO.puts(&1"))
...(3)> end
...(3)> )
...(3)> '
...(3)> end
...(3)> ""
...(3)> ... ? How to produce syntax error ?
...(3)>
BREAK: (a)bort (c)ontinue (p)roc info (i)nfo (l)oaded
(v)ersion (k)ill (D)b-tables (d)istribution
No puedo cometer un error de sintaxis y continuar desde cero y tengo que reiniciar el IEx completo. ¿Hay algún método abreviado de teclado o comando para omitir la ejecución del iex actual (3) y pasar al siguiente iex (4)?
BREAK
menú para cancelar el comando multilínea actual, o hacer que el primer ctrl-c lo cancele ...Respuestas:
Comienza tu línea con
#iex:break
fuente
;iexb
En general, también puede presionar Ctrl+ G, lo que lo llevará al modo "Comando de cambio de usuario" con un
--->
mensaje. Desde aquí, puede escribiri
para interrumpir su sesión IEx y luegoc
volver a conectarse; IEx luego indicará** (EXIT) interrupted
y volverá al estado en el que estaba inmediatamente antes de que se atascara. Esta es una característica del shell de Erlang (erl) que fue heredada por IEx.Ejemplo de esto en acción:
fuente
Mi solución rápida y sucia es producir un error de sintaxis con spamming
"""""""""
(que se interpretará como heredoc).En tu ejemplo:
fuente