Erlang 17推荐使用地图替换记录,但是如何让mnesia支持地图?

2024-04-16

在 joe 的《Erlang 的重大改变》中http://joearms.github.io/2014/02/01/big-changes-to-erlang.html http://joearms.github.io/2014/02/01/big-changes-to-erlang.html

“我们希望地图能够替代记录,并且与记录一样高效,而且如何做到这一点并不那么明显。”

如何在mnesia中将记录转换为地图?


Mnesia 在内部使用 ETS(和 dets),这些基于元组作为基本数据结构。虽然它们可以包含顶层的映射,但它必须是元组。由于记录是元组,因此记录也可以位于顶层。重新设计 ets/dets/mnesia 以使用地图将是一项重大工作。

由于地图访问是动态完成的,而记录是静态完成的,因此可能无法像记录那样快速获取地图。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Erlang 17推荐使用地图替换记录,但是如何让mnesia支持地图? 的相关文章

  • 在 Erlang 中是否有一种惯用的方法来对函数参数进行排序?

    似乎列表模块中的不一致 例如 split 将数字作为第一个参数 将列表作为第二个参数 而 sublists 将列表作为第一个参数 将 len 作为第二个参数 好的 讲一下我记得的一些历史以及我的风格背后的一些原则 正如克里斯蒂安所说 图书馆
  • Python dict 到 DataFrame Pandas - 级别

    几个月前 Romain X 在这个问题上帮了我很多忙 Python 字典到 DataFrame Pandas https stackoverflow com questions 32770359 python dict to datafra
  • 在python中合并3个dict()

    如果多个字典之间有公共字符串 是否有逻辑合并多个字典的方法 即使这些公共字符串在一个 dict 的值与另一个 dict 的键之间匹配 我在 SO 上看到了很多类似的问题 但似乎没有一个问题能解决我将 较低级别文件 中的多个键与较高键 值中的
  • 如何将 ImmutableJS Map 与 TypeScript 结合使用

    我有一个看起来像这样的树结构 interface TreeData id number text string children TreeData 我想将其包装到一个不可变的映射中 但由于我使用的是 TypeScript 所以我希望使用 g
  • 在Python中复制字典的快速方法

    我有一个经常与字典一起使用的Python 程序 我必须把字典复印数千次 我需要密钥和相关内容的副本 副本将被编辑 并且不得链接到原始文件 例如 副本中的更改不得影响原始文件 键是字符串 值是整数 0 1 我目前使用一个简单的方法 newDi
  • HashMap 中的 keySet 字段为 null

    我正在尝试循环HashMap与keySet 方法如下 for String key bundle keySet String value bundle get key 我在代码的其他部分在 HashMap 上使用了很多 for each 循
  • Erlang:有“epmd”的 API 吗?

    有没有办法查询 epmd 守护进程管理的名称表 The nodes 函数在这方面不是很有帮助 注意 我正在寻找 APIaside解析通过 stdout 生成的输出 要查询 epmd 可见的节点 请调用 EpmdModule net kern
  • Python 两个列表之间的多重条件

    我正在使用 python 3 我需要检查不同列表中的 3 个变量 我想打印数据 如果username age lang与其他列表不同 这是我的代码 list1 list2 list1 append username alice age 25
  • Python for 循环仅返回字典的最后一个值

    我正在尝试在 python 中创建一个带有 xyz 坐标的 json 转储 但是我用来遍历不同组的 for 循环仅返回最后一个组 self group strings CHIN L EYE BROW R EYE BROW L EYE R E
  • 将数组转换为字典,其中值作为项目的索引,键作为项目本身

    我有一个数组 例如 arr 0 Name arr 1 Address arr 2 Phone 我想创建一个Dictionary
  • 具有多行值的 PEP8 多行字典

    我使用 Black for Python 它符合 PEP8 https github com psf black the black code style 它删除两行长值字符串的第二行的缩进 mydict key0 value0 key1
  • 无缝滚动瓷砖地图

    我正在开发一个自上而下的角色扮演游戏 并且想要实现无缝滚动地图 也就是说 当玩家探索世界时 地图之间没有加载屏幕 也没有通往下一个区域的 门 我有两种方法可以打破世界 在顶层 我有 区域 它只是 9 个 地图 的集合 这些区域仅由目录表示
  • Erlang++ 运算符。语法糖,还是单独操作?

    是Erlang的 运算符只是语法糖lists concat或者这是完全不同的操作 我试过搜索这个 但不可能通过谷歌搜索 并得到任何有用的东西 这就是如何lists concat 1在 stdlib lists 模块中实现 concat Li
  • Python:计算字典的重复值

    我有一本字典如下 dictA unit1 test1 alpha unit1 test2 beta unit2 test1 alpha unit2 test2 gamma unit3 test1 delta unit3 test2 gamm
  • 为字典中的一个键附加多个值[重复]

    这个问题在这里已经有答案了 我是 python 新手 我有每年的年份和值列表 我想要做的是检查字典中是否已存在该年份 如果存在 则将该值附加到特定键的值列表中 例如 我有一个年份列表 并且每年都有一个值 2010 2 2009 4 1989
  • 字典查找抛出“索引超出数组范围”

    我收到了一个错误报告 该报告似乎来自以下代码 public class AnimationChannelCollection ReadOnlyCollection
  • 如何用C语言创建字典?

    我正在用 C 语言编写一个微控制器 作为它的一部分 我想在 7 段显示器上显示某些字母 每个字母都有一个对应的数字 使 7 段显示屏显示该字母 它没有真正的模式 因为数字只是通过将显示字母所需的 7 段显示器上的位相加而成 因此如果我可以创
  • 创建现有 ram 表的 mnesia disk_copies

    我有一个完整的 mnesia ram copies only 数据库 但在将 disk copy 表添加到节点时遇到问题 目前我这样做 创建我所有的 ram copy 表 节点 在disk copy to be节点上启动mnesia 使用以
  • 在 C# 中使用 LINQ 反转字典

    如何转换 Dictioanry
  • 使用反射获取基类的受保护属性值

    I would like to know if it is possible to access the value of the ConfigurationId property which is located in the base

随机推荐