возобновить выполнение после IEx.pry () - PullRequest
0 голосов
/ 11 октября 2018

Как выйти из режима отладки без перезапуска сеанса?

После команды respawn я теряю все ранее инициализированные переменные.

Interactive Elixir (1.7.3) - press Ctrl+C to exit (type h() ENTER for help)
iex(1)> defmodule Test do
...(1)> require IEx
...(1)> def test do
...(1)> s = "Hello"
...(1)> IEx.pry()
...(1)> "#{s}, World!"
...(1)> end
...(1)> end
{:module, Test,
 <<70, 79, 82, 49, 0, 0, 13, 144, 66, 69, 65, 77, 65, 116, 85, 56, 0, 0, 0, 142,
   0, 0, 0, 15, 11, 69, 108, 105, 120, 105, 114, 46, 84, 101, 115, 116, 8, 95,
   95, 105, 110, 102, 111, 95, 95, 7, 99, ...>>, {:test, 0}}
iex(2)> a = 1
1
iex(3)> Test.test
Break reached: Test.test/0 (iex:5)
pry(1)> s
"Hello"
pry(2)> respawn

Interactive Elixir (1.7.3) - press Ctrl+C to exit (type h() ENTER for help)
"Hello, World!"
iex(1)> a
** (CompileError) iex:1: undefined function a/0

1 Ответ

0 голосов
/ 11 октября 2018

Вы не можете сделать это, как указано в документации https://hexdocs.pm/iex/IEx.Helpers.html#respawn/0 Он запускает просто новый процесс, который не имеет ничего общего с предыдущим

...