我正在尝试在 prolog 中编写一个简单的 shell。我目前使用 read/1 查询用户的输入。
但是,我有两个问题要解决。
1) 用户只能输入条款。
该查询要求用户输入一个术语并要求输入以句点结尾。这是为了限制,因为我希望用户能够输入诸如“将变量设置为值”之类的命令(我将解析此字符串)。有没有办法在序言中读取这些字符串?(如果可能没有任何开销,例如列表表示、报价或结束期间?)
2) 如果用户输入了不正确的内容(例如空格),我会收到语法错误并且 shell 结束。处理这些错误并避免程序终止的快速且正确的方法是什么?
非常感谢所有帮助!