tuPrologのユーザーガイドは簡単に見つかります:ドキュメント第5章では、Prologコマンドについて説明します。
あなたの質問から、私はあなたが文字列として日付を受け取ったと推測し、あなたは日付文字列がどのフォーマットで到着するかわからない。
文字列を単語に変換するために text_term/2
を見ています(私は100%確信していません、私が使っているPrologシステムはそれとは異なる名前の述語を持っています)。次に、目的の構造の用語で用語を統一することによって、1つまたは2つのスラッシュが含まれているかどうかをテストできます(または別の形式であるか、まったく日付ではありません)。
Term = D/M/Y
これが有効な日付であるかどうかをテストします。
text_term(Text,Term),
( Term = D/M/Y, valid_date(D,M,Y) ->
true
; Term = M/D/Y, valid_date(D,M,Y) ->
true
; ...
The ->
is "if-then", the ;
is "else".
You'll need to write a predicate that test for valid dates, which I called valid_date/3
above.