gpt4 book ai didi

functional-programming - Erlang 函数调用 - 为什么将 self() 作为直接参数调用不起作用?

转载 作者:行者123 更新时间:2023-12-04 08:41:18 24 4
gpt4 key购买 nike

一段时间以来,我和我的 friend 一直在努力寻找我们代码中的错误,然后我们意识到这是问题所在:

random_function(spawn_link(fun() -> worker(List, self(), Death) end));

这是解决方案:

PID = self(),
random_function(spawn_link(fun() -> worker(List, PID, Death) end));

所以我的问题是,为什么像那样直接调用 self() 函数不起作用?是因为它是一个匿名函数还是某种特殊的 Erlang 东西?

最佳答案

它有点微妙。 self() 调用发生在生成的 fun() 中。自从它生成以来,它的 Pid 与您预期的不同。因此,语义不同。

关于functional-programming - Erlang 函数调用 - 为什么将 self() 作为直接参数调用不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22271071/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com