Erlang异常错误:没有匹配的函数子句

Erlang异常错误:没有匹配的函数子句,erlang,Erlang,你能告诉我代码第53行出了什么问题吗? 据我所知,它应该返回{[{12456}、{77777}、{99999}、{88888}、]}。 为什么不匹配以及如何修复?谢谢! fu() -> Tr = [{12456},{77777}, {99999}, {88888}], car:foa1(Tr, {[],[]}). foa1([], Acc) -> Acc; foa1([{Tr}|Ot], {A1,A2}) -> Direction = unknown, A = fun(T,

你能告诉我代码第53行出了什么问题吗? 据我所知,它应该返回{[{12456}、{77777}、{99999}、{88888}、]}。 为什么不匹配以及如何修复?谢谢!

fu() ->
Tr = [{12456},{77777}, {99999}, {88888}],
car:foa1(Tr, {[],[]}).

foa1([], Acc) -> Acc;

foa1([{Tr}|Ot], {A1,A2}) ->
Direction = unknown,
A = fun(T, {Acc1, Acc2}) ->
case Direction of
unknown -> {[T | Acc1], Acc2};
_ -> {Acc1, [T | Acc2]}
end
end,
{Acc1, Acc2} =  lists:foldl(A, {[],[]}, Tr),
foa1 (Ot, {A1 ++Acc1,  A2 ++ Acc2}).
**异常错误:没有匹配的函数子句 列表:foldl(#Fun,{[],[]},12456)(lists.erl,第1262行)
功能车:foa1/2(car.erl,第53行)

问题已解决!我已经更正了发送到工作的列表的格式。这是因为
lists:foldl
的第三个参数需要一个列表,而在这一行
{Acc1,Acc2}=lists:foldl(a,{[],[]},Tr),
Tr
不是列表->因为你这样做
foa1([{Tr Ot],{A1,A2})
,它使
Tr
成为第一个元组的元素,也就是说,在第一次迭代中产生了
12456
。非常感谢@Agus,你的评论帮助我解决了这个问题!!一切都解决了!