我一直在努力。我想生成进程并传递参数
他们没有使用MFA表格(模块/函数/参数),所以
基本上无需导出我想要生成的函数
参数。我使用闭包(乐趣)几次绕过这个
并且让参数只是在乐趣之外被绑定的值(然后我在乐趣中引用),但是它
限制我的代码结构...我已经查看了文档并仅生成了
有常规spawn / 1和spawn / 3形式,没有其他...
我理解,如果不使用MFA表单,生成的进程中的代码重新加载是不可能的,但是生成的进程不具有长期运行性并且相对快速地完成,因此这不是问题(我还想在一个模块中包含所有代码) -level函数,子作业被放置在该函数内部的函数中)。
非常感激
谢谢
实际上,理查德指出我正确的方向来避免这个问题(在我对Erlang GoogleGroups提出的同一篇文章的回复中):
http://groups.google.com/group/erlang-programming/browse_thread/thread/1d77a697ec67935a
他的回答是:
通过“使用闭包”,我希望你的意思是这样的:
Pid = spawn(fun() - > any_function(Any,Number,Of,Arguments)结束)
这将如何限制您的代码结构?
/Richard
谢谢你及时评论我的问题。非常感激
简答:你不能。 Spawn(以其各种形式)仅采用0-arity函数。使用闭包并从产生函数引入绑定变量是要走的路,除了使用像ETS这样的某种共享数据存储(Monster Overkill)。
我从来没有发现使用闭包来严重妨碍我的代码结构;你能举出一些你遇到的问题的例子,也许有人可以为你整理一下吗?
实际上,理查德指出我正确的方向来避免这个问题(在我对Erlang GoogleGroups提出的同一篇文章的回复中):
http://groups.google.com/group/erlang-programming/browse_thread/thread/1d77a697ec67935a
他的回答是:
通过“使用闭包”,我希望你的意思是这样的:
Pid = spawn(fun() - > any_function(Any,Number,Of,Arguments)结束)
这将如何限制您的代码结构?
/Richard
谢谢你及时评论我的问题。非常感激
简答:你不能。 Spawn(以其各种形式)仅采用0-arity函数。使用闭包并从产生函数引入绑定变量是要走的路,除了使用像ETS这样的某种共享数据存储(Monster Overkill)。
我从来没有发现使用闭包来严重妨碍我的代码结构;你能举出一些你遇到的问题的例子,也许有人可以为你整理一下吗?