質問

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でこれを試してみたのだが、仕事に表示されます。ご希望の場合は、より多くのエラー処理を追加することができます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top