在prolog中将输入转换为列表

时间:2014-11-23 15:27:53

标签: prolog

我正在做这样的事情

    read_line_to_codes(user_input,Li1),nl,
    write(Li1),nl,
    atom_codes(A,Li1),
    write(A),nl

所以我得到了这个输出 -

|: 'hello',18,19,'Bye'

 [39,104,101,108,108,111,39,44,49,56,44,49,57,44,39,66,121,101,39]
 'hello',18,19,'Bye'

但我想要一个列表 - L=['hello',18,19,'Bye'] 我怎么能这样做?

1 个答案:

答案 0 :(得分:0)

SWI-Prolog 中,您可以使用atomic_list_concat/3,第一个参数(列表)未实例化,第二个参数为separatorn(在您的情况下为','),第三个参数参数你已经拥有的原子(A)。请注意,atomic_list_concat/3的使用不可移植

E.g:

   atomic_list_concat(L, ',', A)
相关问题