我试图运行一个prolog程序,代表一个树,但当我从菜单中选择选项1显示我false。
代码:https://github.com/carson314/Prolog/blob/master/menus.pl你的代码有两个问题:
opciones(X):-
(
(X = 1) ->
escribe("Escriba el nombre de la persona cuyo padre es que se encuentran:"),nl,
read(X),
escribe("Padre "),
escribe(X),
escribe(" es:"),nl,
father(Z,X),
escribe(Z),nl,
pausa;
当您调用opciones(1)
时,X
绑定到1
,并且由于read(X)
不将X绑定到用户输入,但检查是否用户输入等于1
。这是第一个问题。第二个问题是read/1
读取一个原子,而escribe/1
需要列表或字符代码。您可以使用atom_codes/2
来处理它