我有一个功能,一直给我“功能代码/ 3未定义”错误。以下是该函数的代码:
table(Sample)->
Freq=freq(Sample),
Tree = huffman(lists:keysort(2, Freq)),
codes(Tree).
codes(Tree)->
{_,_,X,_}=Tree, <---- Masks out a tuple
{Y,_,_,_}=Tree, <----- Masks out an atom
codes(X,Y,[]). <------ Here is where it gives error.
codes({},_,List)->List;
codes(Entry,Type,List)->
case Type of
leaf->
NewList=[element(3,Entry)|List];
node->
Entry1=element(2,Entry),
Entry2=element(2,Entry),
codes(Entry1,element(1,Entry1),List),
codes(Entry2,element(1,Entry2),List);
end.
无法弄清楚为什么,有人知道吗?
编辑:问题在;
后end
而不是.
,现在已修复。
答案 0 :(得分:1)
即使其他人解决了这个问题,下面是erlang
的结构case Expr of
Pattern1 [when GuardSeq1] ->
Body1;
...;
PatternN [when GuardSeqN] ->
BodyN
end