我正在嘗試在prolog中編寫一個簡單的shell。 我目前使用read/1查詢用戶輸入。Prolog從用戶處獲得字符串輸入並避免程序在出現錯誤輸入時終止
但是我有兩個問題想解決。
1)用戶只能輸入條款。
該查詢要求用戶輸入一個術語並要求輸入以句點結尾。 這是爲了限制,因爲我希望用戶能夠輸入像'設置變量值'(我會解析這個字符串)的命令。有沒有什麼方法可以在prolog中讀取這樣的字符串? (如果可能沒有任何開銷,如列表respresentation,報價或結束期?)
2)如果用戶輸入不正確的東西(如空間),我得到一個語法錯誤,並結束外殼。 什麼是處理這些錯誤並避免程序終止的快速且正確的方法?
所有幫助最受讚賞!
如何使用get_char獲取例如使用空格作爲分隔符的單詞列表的例子將非常感謝!例如,如果用戶鍵入:非常感謝,我想獲得[非常感謝,很多],我可以輕鬆解析。不要感到有責任感,但謝謝所有情況。 – codelidoo 2012-01-08 02:52:04
@codelidoo我添加了一個由着名的Prolog書籍提供的示例的鏈接。希望能幫助到你。 – 2012-01-08 06:49:07