0

我有这个代码:

allUser_X_Tag2([],_,_,_):-!.
allUser_X_Tag2([H|T],N,H,RUsers):-
    writeln(H),
    findall(Uid2,
       ( no(Uid2, _, Tags2), check_first(H,Tags2) ),
       Users),
    writeln(Users),
    length(Users,N1),
    writeln(N1),
    N1>=N, !,
    N is N1, RUsers is Users,
    allUser_X_Tag2(T,N1,H,RUsers).
allUser_X_Tag2([_|T],N,RTags,RUsers):-
    allUser_X_Tag2(T,N,RTags,RUsers).

这是每个元素的含义:

T -> 列表标签列表 例如:[[a,b,c],[e,f,c],[c,d,e]]
H -> 列表标签 例如:[a,b,c]
no (Uid2,_,Tags2) -> 用户 ID + 是标签
N -> 具有这些标签的最小用户数

当我运行代码时, writeln() 工作正常,但最后我得到了这个错误

ERROR: Type error: `[]' expected, found `[1,31]' (a list) ("x" must hold one character)
ERROR: In:
ERROR:   [11] _3846 is [1,31]
ERROR:   [10] allUser_X_Tag2([[natureza|...],...|...],2,[natureza,pintura|...],_3890) at c:/users/user/documents/21s5_de_25/algav/sprintd/grupos_x_tags.pl:24
ERROR:    [9] <user>

谁能解释我为什么会收到此错误以及如何解决相同的错误?

4

0 回答 0