3

SWI-Prolog などの Prolog アトムで空白文字 (スペース、改行、タブ) を正規化する最良の方法は何ですか? つまり、ルールが必要です:

normalize_space_in_atom(+Atom1, -Atom2)

そのようなAtom2

  • 単一のスペースに変換された一連の空白文字があります
  • スペースなしで始まる
  • スペースなしで終わる
4

1 に答える 1

2

SWIPrologはnormalize_space/2を提供するため、述語を次のように定義できます。

normalize_space_in_atom(A1,A2) :- normalize_space(atom(A2),A1).

私はこれをSWIProlog5.7.5で試しましたが、動作しているようです。必要に応じて、エラー処理を追加できます。

于 2009-02-03T21:29:19.963 に答える