Quelle est la meilleure façon de convertir une liste Prolog en un terme Prolog (ce n'est pas une liste), en termes d'efficacité de , et d'utiliser le plus possible les prédicats intégrés existants ?Conversion d'une liste en un terme dans Prolog
Les exemples d'interface et d'utilisation sont les suivants.
%% 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).
I.e. la liste donnée (qui est en fait un terme imbriqué) est aplatie en un terme avec le nom donné. Je ne dis pas que c'est logique de le faire. (Mais si vous pensez qu'il fait, s'il vous plaît fournir un usecase dans votre réponse.)
Quelle devrait être la réponse pour 'list_to_term ([X , Xs], '.', Terme) '? Vous exigez que ce ne soit pas une liste ... :-) – false
Merci d'avoir signalé cela. ;) Maintenant que j'ai lu cette question après 3 ans, cela n'a pas vraiment de sens pour moi. Je le supprimerais complètement si je le pouvais. – Kaarel
C'est une question du point de vue d'un débutant. Voici l'endroit pour cela. – false