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

Posted

技术标签:

【中文标题】如何使用字典实现动态路由表?【英文标题】:How to implement a dynamic routing table using a dictionary? 【发布时间】:2014-05-27 10:50:34 【问题描述】:

我需要根据内容为我的发布-订阅系统实现一个路由表。我想我应该使用字典,如下所示:

Routing_table = (Node_1: A, B; Node_2: X, Y; Node_3: A, Y)

其中 Node_X 是一个节点,值是正在发送的内容(消息)。我无法全神贯注地实现这一点,我对函数式编程还很陌生,所以当您无法更改变量时,我不明白如何使用列表或字典。

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

【问题讨论】:

你显示的代码sn-p不是erlang,看起来像Elixir,如果是这种情况你应该在标签列表中添加它。此外,您的问题令人困惑:在 Erlang 中,节点或多或少是一个虚拟机进程。您不能向它发送任何消息,而是向在此节点上运行的进程发送任何消息。所以你应该重新考虑/改写你的问题。 有很多教程展示了如何填充不可变容器。查看函数签名应该足以理解它。试着写一些代码,如果不行,在这里介绍一下。 你能告诉我你提到的一些教程吗?我没有从 Google 获得任何信息,可能我的查询不够好...... 我所知道的使用 Erlang 开始(和进步)的最佳网站是 LearnYouSomeErlang 【参考方案1】:

我认为你可以在erlang中使用dict模块,链接是http://www.erlang.org/doc/man/dict.html

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

【讨论】:

以上是关于如何使用字典实现动态路由表?的主要内容,如果未能解决你的问题,请参考以下文章

若依(ruoyi)框架:如何实现灵活自定义路由配置

Linux下使用ISC DHCP可以实现动态推送静态路由表

如何使用动态变量作为在 python 中检索表值的键?

第七课——简单动态字符串链表字典压缩列表

vue 实现动态路由

Vue实现动态路由