Lorsque j'utilise IEx et que je fais une faute de frappe comme un support supplémentaire ou ", la plupart du temps, j'obtiens une erreur de syntaxe. Mais il y a des cas comme celui-ci:
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
Je ne peux pas faire d'erreur de syntaxe et continuer à partir de zéro et je dois relancer l'intégralité de IEx. Existe-t-il un raccourci clavier ou une commande pour ignorer l'exécution de iex (3) actuel et passer à iex (4) suivant?
Commencez votre ligne avec #iex:break
iex(1)> Enum.each '12345', &(IO.puts(&1"))
...(1)> ...
...(1)> #iex:break
** (TokenMissingError) iex:1: incomplete expression
En général, vous pouvez également appuyer sur Ctrl + G, qui vous fera passer en mode "Commande de changement d'utilisateur" avec une invite --->
. De là, vous pouvez taper i
pour interrompre votre session IEx, puis c
pour vous reconnecter; IEx indiquera alors ** (EXIT) interrupted
et reviendra à l'état dans lequel il se trouvait juste avant que vous ne soyez bloqué. Il s'agit d'une fonctionnalité du shell d'Erlang (erl) héritée par IEx.
Exemple de ceci en action:
iex(3)> Enum.each '12345', &(IO.puts(&1"))
...(3)> end
...(3)> )
...(3)> '
...(3)> end
...(3)> ""
...(3)> <-- Ctrl-G goes here (not shown normally)
User switch command
--> i
--> c
** (EXIT) interrupted
iex(3)>