Prolog アトム内のスペース文字の正規化
-
21-08-2019 - |
質問
Prolog アトム内の空白文字 (スペース、改行、タブ) を正規化する最良の方法は何ですか。SWI-プロローグで。つまり、ルールを設けたいと思います。
normalize_space_in_atom(+Atom1, -Atom2)
そのような Atom2
- 一連の空白文字が単一のスペースに変換されます
- スペース以外で始まる
- スペース以外で終わる
解決
SWI Prologはnormalize_space / 2を提供し、次のようにので、あなたの述語を定義することができます:
normalize_space_in_atom(A1,A2) :- normalize_space(atom(A2),A1).
、私はSWI Prologの5.7.5でこれを試してみたのだが、仕事に表示されます。ご希望の場合は、より多くのエラー処理を追加することができます。
所属していません StackOverflow