Когда я использую IEx и делаю опечатку вроде дополнительной скобки или ", то в большинстве случаев я получаю синтаксическую ошибку. Но бывают случаи, подобные этому:
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
Я не могу сделать синтаксическую ошибку и продолжить с нуля, и мне нужно перезапустить весь IEx. Есть ли какое-либо сочетание клавиш или команда для пропуска выполнения текущего iex (3) и перехода к следующему iex (4)?
BREAK
меню опцию для отмены текущей многострочной команды или заставили первую Ctrl-C отменить ее ...Ответы:
Начните свою линию с
#iex:break
источник
;iexb
Как правило, вы также можете нажать Ctrl+ G, что переведет вас в режим «Команда переключения пользователя» с
--->
запросом. Отсюда вы можете ввестиi
текст, чтобы прервать сеанс IEx, а затемc
повторно подключиться к нему; Затем IEx сообщит** (EXIT) interrupted
и вернется в состояние, в котором он находился непосредственно перед тем, как вы застряли. Это особенность оболочки Erlang (erl), унаследованная IEx.Пример этого в действии:
источник
Мое быстрое и грязное решение - создать синтаксическую ошибку с помощью рассылки спама
"""""""""
(что будет интерпретировано как heredoc).В вашем примере:
источник