我有一个calls.txt:
{john,[jill,joe,bob]}。
{jill,[bob,joe,bob]}。
{sue,[jill,jill,jill,bob,jill]}。
{bob,[john]}。
{乔,[sue]}。
我有一个函数read()
read() ->
List = file:consult("calls.txt"),
调用read()返回一个包含5个元组的列表
{ok,[{john,[jill,joe,bob]},
{jill,[bob,joe,bob]},
{sue,[jill,jill,jill,bob,jill]},
{bob,[john]},
{joe,[sue]}]}
我想将每个元组绑定到一个变量(X1,X2,X3,X4,X5)
我尝试将列表拆分为4个头和一个尾
read() ->
List = file:consult("calls.txt"),
[X1,X2,X3,X4|X5] = List.
然而,它给了我错误:
** exception error: no match of right hand side value
如何将返回的列表从consult()拆分为5个元组?
答案 0 :(得分:3)
返回值为{ok, <list of 5 elements>}
,因此您需要使用的模式为{ok, [X1, X2, X3, X4, X5]}
:
{ok, [X1, X2, X3, X4, X5]} = file:consult("calls.txt").