Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
List 如何使用字典实现动态路由表?_List_Dictionary_Erlang_Publish Subscribe - Fatal编程技术网

List 如何使用字典实现动态路由表?

List 如何使用字典实现动态路由表?,list,dictionary,erlang,publish-subscribe,List,Dictionary,Erlang,Publish Subscribe,我需要为基于内容的发布-订阅系统实现一个路由表。我想我应该用字典,比如: Routing_table = (Node_1: A, B; Node_2: X, Y; Node_3: A, Y) 当Node_X是节点时,值是正在发送的内容(消息)。我不知道如何实现这个,我对函数式编程相当陌生,所以当你不能改变变量时,我不知道如何使用列表或字典 还有一个函数可以将字典中的键放入列表吗?我认为您可以在erlang中使用dict模块,链接是 dict的键是节点名, dict的值是一个列表,就像:[a,B

我需要为基于内容的发布-订阅系统实现一个路由表。我想我应该用字典,比如:

Routing_table = (Node_1: A, B; Node_2: X, Y; Node_3: A, Y)
当Node_X是节点时,值是正在发送的内容(消息)。我不知道如何实现这个,我对函数式编程相当陌生,所以当你不能改变变量时,我不知道如何使用列表或字典


还有一个函数可以将字典中的键放入列表吗?

我认为您可以在erlang中使用
dict
模块,链接是

dict的键是节点名,
dict的值是一个列表,就像:[a,B]。

您显示的代码段不是erlang,它看起来像Elixir,如果是这种情况,您应该将其添加到标记列表中。此外,您的问题令人困惑:在Erlang中,节点或多或少是一个虚拟机进程。您不能向它发送任何消息,但要发送到此节点上运行的进程。所以你应该重新思考/改写你的问题。有很多教程展示了如何填充不可变的容器。查看函数签名应该足以理解它。试着写一些代码,如果不起作用,在这里介绍一下。你能给我指一下你提到的一些教程吗?我没有从谷歌那里得到任何东西,可能我的查询不够好……我知道用Erlang开始(和发展)的最好的网站是