这是保存到文件的代码如下:
room(kitchen).
room(office).
room(hall).
room('dining room').
room(cellar).
door(office, hall).
door(kitchen, office).
door(hall, 'dining room').
door(kitchen, cellar).
door('dining room', kitchen).
location(desk, office).
location(apple, kitchen).
location(flashlight, desk).
location('washing machine', cellar).
location(nani, 'washing machine').
location(broccoli, kitchen).
location(crackers, kitchen).
location(computer, office).
edible(apple).
edible(crackers).
tastes_yucky(broccoli).
here(kitchen).
现在打开编辑器GNU-Prolog,打开文件可以直接询问机器:
房间里面有什么,通过;号隔开,我们可以看到机器会根据上面逻辑告诉你有什么。
| ?- room(X).
X = kitchen ? ;
X = office ? ;
X = hall ? ;
X = 'dining room' ? ;
X = cellar
(31 ms) yes
| ?- 接下来:在房间里面并且可以吃的有什么?
| ?- location(X,kitchen),edible(X).
X = apple ? ;
X = crackers ? ;
no

这篇博客展示了如何在Prolog中编写代码来查询房间内的物品。通过使用';'分隔物品,程序能根据逻辑返回房间内所有物品。文章还提到了启用debug模式进行调试的方法,解释了在debug模式下看到的Call、Fail、Redo和Exit四个关键阶段。
最低0.47元/天 解锁文章
966

被折叠的 条评论
为什么被折叠?



