如何解决“;Erlang异常错误”;
调试Erlang聊天引擎时,我不断收到异常错误 错误消息如下: 异常错误:没有与代码匹配的函数子句, {button,1},#{button=>[],code=>[a,b,c,d],length=>4})如何解决“;Erlang异常错误”;,erlang,otp,Erlang,Otp,调试Erlang聊天引擎时,我不断收到异常错误 错误消息如下: 异常错误:没有与代码匹配的函数子句, {button,1},#{button=>[],code=>[a,b,c,d],length=>4}) 知道如何调试吗 已定义函数locked(异常还应告诉您其定义在哪个while和哪一行开始),但没有一个子句与异常中显示的参数匹配 例如,如果我们定义 nfcm([H|T],X) -> [H,X|T]; nfcm({A,B},C) -> {A,C,B}. 我们可以调
知道如何调试吗 已定义函数
locked
(异常还应告诉您其定义在哪个while和哪一行开始),但没有一个子句与异常中显示的参数匹配
例如,如果我们定义
nfcm([H|T],X) ->
[H,X|T];
nfcm({A,B},C) ->
{A,C,B}.
我们可以调用nfcm([1,2,3],4)
和nfcm({1,2},3)
来获得[1,4,2,3]
和{1,3,2}
,但是调用nfcm(1,2)
或nfcm({1,2,3},4)
会导致异常,因为1
既不匹配列表,也不匹配元组,1,3},不匹配两个元素的元组
有两种方法可以解决此问题:要么修复函数的定义,要么修复参数以匹配现有定义。好,这与参数匹配现有定义有关。对其进行排序,调试过程正常 嗯,我做了一个调整,运行了一个命令代码\u lock:start\u link([1,2,3],4)。我还收到另一个**异常错误:未定义的函数代码\u锁定:开始\u链接/2。注释不是粘贴代码的最佳位置。最好用代码更新问题。好的。我会更新这个问题。嗯,我做了一个调整,运行了一个命令代码\u lock:start\u link([1,2,3],4)。我得到了另一个**异常错误:未定义的函数代码\u lock:start\u link/2。谢谢@choroba的提示。