2013-03-15 2 views

ответ

1

Asumming вас есть строка (представленный атомом), вы можете написать процедуру atoms_list/2:

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

Пример:

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

я использовал это в конце концов

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

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

Остерегайтесь использования атомных list_concat/3 с первым неиспользуемым аргументом хранится в прологе SWI для обратной переносимости; на самом деле в документации указано, что первый аргумент должен быть создан. – gusbro

Смежные вопросы