我有这个代码:
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>
谁能解释我为什么会收到此错误以及如何解决相同的错误?