当 Elixir 控制台卡住时......
有时你可能会意外地在 shell 中运行一些东西,最终会永远等待,从而阻止 shell:
iex(2)> receive do _ -> :stuck end
在这种情况下,请按 Ctrl-g。你会看到的:
User switch command
按顺序输入以下命令:
k
(杀死 shell 进程)s
(启动一个新的 shell 进程)c
(连接到新的 shell 进程)
你将最终进入一个新的 Erlang shell:
Eshell V8.0.2 (abort with ^G)
1>
要启动 Elixir shell,请键入:
'Elixir.IEx.CLI':local_start().
(别忘了最后一点!)
然后你会看到一个新的 Elixir shell 进程:
Interactive Elixir (1.3.2) - press Ctrl+C to exit (type h() ENTER for help)
iex(1)> "I'm back"
"I'm back"
iex(2)>
要转义等待更多输入模式(由于未闭合的引号,括号等),请输入 #iex:break
,然后输入回车符( ⏎ ):
iex(1)> "Hello, "world"
...(1)>
...(1)> #iex:break
** (TokenMissingError) iex:1: incomplete expression
iex(1)>
当复制粘贴相对较大的片段将控制台转为等待更多输入模式时,上述内容特别有用。