我正在尝试为变量分配一个空列表,如下所示:
stuff(_) :- (not(is_list(X)) -> X is []), ...
或
stuff(_) :- (not(is_list(X)) -> X = []), ...
我要让X
满足X
不是列表的条件,以便为X
分配一个空列表。不能像这样:
not(is_list(X)), X = []
因为“ X
未列出” 条件,所以必须满足。但是,当我尝试上述代码时,它所做的只是尝试检查X = []
或X is []
的真实值,而不是为X
分配空列表。
我不必使用->
。可以是任何东西。如果X
还没有列表,只要为[]
分配了X
。作为stuff(_)
关系的结果。