规范化prolog原子中的空白字符(空格、换行符、制表符)的最佳方法是什么,例如在swi prolog中。 也就是说,我想要一个规则:
normalize_space_in_atom(+Atom1, -Atom2)
这样 Atom2
Atom2
swi prolog提供normalize_space/2,因此您可以如下定义谓词:
normalize_space_in_atom(A1,A2) :- normalize_space(atom(A2),A1).
我用Swi Prolog 5.7.5尝试过这个方法,它似乎有效。如果愿意,您可以添加更多的错误处理。