gpt4 book ai didi

dictionary - 二郎字典

转载 作者:行者123 更新时间:2023-12-04 17:53:56 25 4
gpt4 key购买 nike

我想我已经知道答案了,但想确定一下。我正在构建一个字典作为静态查找表(即,字典一旦创建将是不可变的),并且发现这可以达到目的:

L = [{keyA, "A"}, {keyB, "B"}, {keyC, "C"}].
D = dict:from_list(L).
V = dict:fetch(keyA, D).

这是一种可以接受的方法还是有其他一些我还不熟悉的魔法?

作为后续,如果我要创建一个可变字典,是否真的需要娱乐诸如
D  = dict:from_list(L).
D1 = dict:append(keyD, "D", D).

最后,不是将字典从一个函数传递到另一个函数,而是有一个我可以存储和检索它的持久存储,沿着 register/2 的行- whereis/1常规?

最佳答案

是的,这是一种可以接受的方法。

如果你想修改你的字典,你总是需要从修改你的字典的所有操作中获取返回值,因为 Erlang 只有不可变数据。这是处理所有 Erlang 数据的正常方式,因此您很快就会习惯它。

另一种方法是使用 ets这是另一种存储数据的方式。根据您创建 ets 表的方式,您可能需要也可能不需要携带对它的引用。 ets 表中的数据不存储在进程堆中,因此访问它需要在进程和 ets 数据之间进行复制,但是 ets 表通常更适合存储大量数据。使用 dict/orddict/gb_trees 还是 ets 更好取决于您打算存储的数据以及您打算对其进行的操作。

关于dictionary - 二郎字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11460616/

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