0

重複の可能性:
Prolog で cmp_list/3 関数を作成するには?

提供される関数コードは 2 つあります。最初のコードは次のとおりです。

atom_integer(Atom, Int) :- atom_chars(Atom, C), number_chars(Int, C).

2つ目は以下です。

integer_list([], []).
integer_list([Lst1|RLst1], [Lst2|RLst2]) :-
            atom_integer(Lst1, Lst2),
            integer_list(RLst1, RLst2).

ここで、次のものを取得するために cmp-list/3 関数を作成する必要があります。

?- cmp_list([2,3,4], [2,3,5], C).
C = lt ;
C = le .

?- cmp_list([1,2,3,4], [1,1,8], C).
C = gt ;
C = ge .

未満を意味します。le は以下を意味します。gt はより大きいことを意味します。ge は、より大きいか等しいことを意味します。

最初のリスト入力と 2 番目のリスト入力はソフトウェアのバージョン番号を表し、C は 2 つのバージョンの比較を意味します。この関数は、どのバージョンが新しいかを確認するために機能するはずです。2 つの空の入力リスト [] の場合、答えは le と ge になります。

前もって感謝します!

4

0 に答える 0