gpt4 book ai didi

erlang - 如何获取erlang集群中的当前节点名称?

转载 作者:行者123 更新时间:2023-12-05 08:19:23 24 4
gpt4 key购买 nike

我在名为“message_passing”的模块中有一个名为“message/2”的函数,该函数在另一个函数 hash/1 中被调用。我需要 3 个名为 node1、node2 和 node3 的节点,但是当我想在名为“Current_Node”的变量中获取当前节点时,它不起作用。它显示错误。它无法在我的变量中获取当前节点。

** exception error: no true branch found when evaluating an if expression
in function message_passing:hash/1

hash(H)->
Current_Node=node(),
if
Current_Node==node1->
message(node2,H),
message(node3,H);
Current_Node==node2->
message(node1,H),
message(node3,H);
Current_Node==node3->
message(node1,H),
message(node2,H)
end

最佳答案

不确定您是否只是在代码中使用示例,但是 bif node() 不会返回仅包含节点名称的原子,还会返回主机名。

node() = node1@localhost.

这就是您的代码无法按您认为的那样工作的原因。

关于erlang - 如何获取erlang集群中的当前节点名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1672322/

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