3
在靈藥中,我們有spawn/1
產生一個沒有任何參數的匿名函數和spawn/3
產生一個具有參數的完全限定的函數。但是,我如何產生一個需要參數的匿名函數呢?如何用參數產生一個匿名函數?
示例:我想運行接收消息的匿名函數,直到滿足特定條件。參數是函數本身能夠執行遞歸步驟。
loop = fn f ->
receive do
{:end, pid} -> send(pid, "exiting")
{_, pid} ->
send(pid, "unrecognized message, keep waiting...")
f.(f)
end
end
child = spawn() # How do I spawn it passing itself as an argument?
爲什麼不'重生(FN - >循環。 (循環)結束)'?這似乎在這裏工作得很好。 – Dogbert
沒想到,這絕對是一個解決方案。回答這個問題,如果這是最直接的方式,我會接受它。謝謝。 – lufte