我在SWI Prolog中编写了一个程序,用于测试字符串是否为回文序列。我在DCG的这个任务能够弄明白,并且非常简单。
palindrome --> [X], palindrome, [X].
palindrome --> [X],[X].
palindrome --> [X].
我想写一个会忽略空格的规则,但是在搜索了一段时间后,没有什么能与我想要的完全匹配。我仍然是DCG的新手,任何见解都会非常感激。
答案 0 :(得分:4)
您可以添加新子句来忽略空格:
palindrome --> " ", palindrome.
?- phrase(palindrome, "ab cba",[]).
true