2013-03-15 8 views

Répondre

1

vous Asumming avez une chaîne (représentée par un atome), vous pouvez écrire une procédure atoms_list/2:

atoms_list(Atom, List):- 
    atomic_list_concat(['[', Atom, ']'], NAtom), 
    term_to_atom(List, NAtom). 

Exemple:

?- atoms_list('a,b,c', List). 
List = [a, b, c]. 
1

J'ai utilisé ce à la fin

atomic_list_concat(L,', ', 'a, b, c'). 

L=['a','b','c'] 
+1

méfiez-vous que l'utilisation de atomic_ list_concat/3 avec le premier argument non instancié est conservé dans le prologue SWI pour la portabilité arrière; en fait, la documentation indique que le premier argument devrait être instancié. – gusbro