在Erlang的字典中存储字典

jar*_*ryd 2 erlang dictionary

我有一个字典,用于存储使用参数名称的另一个字典.

我得到右侧不匹配错误.

这是我的代码

handle_cast({setState, Id}, State) ->
Id0 = dict:new(), 
DQueue = queue:new(),
UQueue = queue:new(),
Id1 = dict:store(dQueue, [DQueue], Id0),
Id2 = dict:store(uQueue, [UQueue], Id1),
Id3 = dict:store(dSpeed, [], Id2),
Id4 = dict:store(uSpeed, [], Id3),
D = dict:store(Id, [Id4], State),
State = D,
{noreply, State};
Run Code Online (Sandbox Code Playgroud)

我不确定错误来自哪里.我想这可能是因为我将Id作为主词典中的键存储,新的内部词典作为值.

我需要内部字典的名称作为Id的值,因为它们将有很多,我需要稍后通过Id访问它们.

我是否正确设置了字典?erlang是否允许字典包含字典?

谢谢

I G*_*ICE 5

没有尝试的代码,我敢打赌,你badmatch时做State = D因为State已经在函数的头部约束.在此之上,USpeedDSpeed应该是不确定的,除非你复制/粘贴你的函数是错误的.