3
Enum.each(1..100, fn(i)->
spawn(fn-> IO.puts(i) end)
end)
spawn(fn-> IO.puts("HELLO") end)
我期望第一部分輸出1 - 100到屏幕上,但它什麼都不做。如果我沒有在第二行使用spawn
,並且只是說IO.puts(i)
,它可以正常工作 - 所以IO.puts在each
調用中工作正常。 HELLO部分工作正常,所以IO.puts在一個產卵區內工作正常。但是這種組合什麼也沒有。爲什麼IO.puts不適用於Enum.each中的派生?
這是爲什麼?
我在iex中試過你的代碼,它適用於這兩個例子。 – Gjaldon
我可以證實@Gjaldon說了什麼。 –
我使用Ctrl-B選項從Sublime文本中運行'.exs',它的行爲就像OP說的那樣。另外,如果我使用'elixir test.exs',那麼OP報告的問題就會發生 –