SWISH Prolog聊天机器人开发疑问:变量传递、递归及字符串比较
SWISH Prolog聊天机器人问题排查与解决
遇到的问题
开发一款接收用户输入quit.时停止的聊天机器人,运行时存在以下问题:
- 输入变量X无法传递到
reply/1谓词实现正常输出 reply/1谓词无法完成递归调用- 对Prolog字符串比较规则不熟悉,原代码中的条件判断始终返回true
解决方法
修正两处代码问题后,所有异常均已修复:
- 修正变量大小写:遵循Prolog语法规范,变量以大写字母开头,原子/常量以小写开头
- 调整
read语句的标点:将语句中的分号替换为逗号
内容的提问来源于stack exchange,提问作者user22579265
相关产品推荐
相关产品推荐

