Назначение переменной вместо проверки на значение истины с помощью -> - PullRequest
0 голосов
/ 20 ноября 2018

Я пытаюсь назначить переменную с пустым списком, например:

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(_) отношения.

...