當 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)>
當複製貼上相對較大的片段將控制檯轉為等待更多輸入模式時,上述內容特別有用。