在 erlang shell 中使用 io:getline("prompt") 时,函数立即返回,返回值为 "\n"
io:get_line("prompt").
prompt
"\n"
但正如另一个线程中所建议的那样,正确地从 standard_io 读取以下内容。
spawn(fun() -> timer:sleep(100),io:get_line("prompt") end).
等待用户输入并从标准 io (shell) 读取。有人提到这是一个竞争条件。谁能告诉我为什么会这样以及如何从 erlang shell 中读取值?