質問

PrologリストをProlog用語(リストではない)に変換する最良の方法は、 効率、および既存の組み込み述語を可能な限り使用しますか?

インターフェースと使用例は次のとおりです。

%% list_to_term(+List:list, +Functor:atom, -Term:term)
%
% Usage:
%
% ?- list_to_term([], myfunctor, Term).
% Term = myfunctor.
%
% ?- list_to_term([a, b, [c], D, 2], myfunctor, Term).
% Term = myfunctor(a, b, [c], D, 2).

つまり指定されたリスト(実際にはネストされた用語)は、 指定された名前の用語。

これを行うのが理にかなっていると言っているわけではありません。 (ただし、そうだと思う場合は、回答にユースケースを提供してください。)

役に立ちましたか?

解決

次のように、 = .. 演算子を使用する必要があります:

list_to_term(List, Functor, Term) :-
    Term =.. [Functor | List].
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top