1
ルビーでCtrl - d
はbinding.pry
に達した後でコードの実行を再開できます。 IEx.pry
のエリクサーにはどのようなものがありますか?エリクシール:IEx.pryに達した後にコード実行を再開する
ルビーでCtrl - d
はbinding.pry
に達した後でコードの実行を再開できます。 IEx.pry
のエリクサーにはどのようなものがありますか?エリクシール:IEx.pryに達した後にコード実行を再開する
IEx.pry/0
に記載されているように、respawn
を呼び出して実行を再開することができます。
これは、特定のプロセスによって実行されたときに特定のコードのチャンクをデバッグする場合に便利です。このプロセスはIExコマンドの評価者になり、一時的に変更されてカスタムグループリーダーになります。これらの値は
IEx.Helpers.respawn/0
を呼び出すことによって元に戻され、新しいIExシェルが開始され、指定されたものが解放されます。
iex(1)> defmodule A do
...(1)> require IEx
...(1)> def a do
...(1)> a = 1
...(1)> b = 2
...(1)> IEx.pry
...(1)> IO.puts a + b
...(1)> end
...(1)> end
{:module, A,
<<70, 79, 82, 49, 0, 0, 12, 144, 66, 69, 65, 77, 65, 116, 85, 56, 0, 0, 0, 110,
0, 0, 0, 12, 8, 69, 108, 105, 120, 105, 114, 46, 65, 8, 95, 95, 105, 110,
102, 111, 95, 95, 9, 102, 117, 110, 99, ...>>, {:a, 0}}
iex(2)> A.a
Break reached: A.a/0 (iex:6)
pry(1)> a
1
pry(2)> b
2
pry(3)> respawn
Interactive Elixir (1.5.1) - press Ctrl+C to exit (type h() ENTER for help)
3
:ok