Я пытаюсь назначить переменную с пустым списком, например:
stuff(_) :- (not(is_list(X)) -> X is []), ...
или
stuff(_) :- (not(is_list(X)) -> X = []), ...
Я хочу, чтобы X
удовлетворял условию, что X
- это не список для присвоения X
пустого списка.Это не может быть таким:
not(is_list(X)), X = []
Поскольку "X
is list" условие должно быть выполнено.Но когда я пробую приведенный выше код, все, что он делает, это пытается проверить значение истинности X = []
или X is []
вместо присвоения X
с пустым списком.
Мне не нужноиспользуйте ->
.Это может быть что угодно.Пока X
назначается []
, если X
еще не является списком.Как следствие stuff(_)
отношения.