我正在 Prolog 中迈出第一步,但遇到了问题。
我正在尝试从用逗号分隔的文件记录中读取
upto_comma(Codes) --> string(Codes), ",", !.
list_w([W|Ws]) --> upto_comma(W), [W] ,list_w(Ws).
string([]) --> [].
string([H|T]) -->[H],string(T).
但我得到的只是一个包含单个字符的列表,而我想要的是一个元素列表。例如从
cat,dog,table
我想要[cat,dog,table]
,我得到了[c,a,t,d,o,g,t,a,b,l,e]
。
我试图upto_comma
改变
upto_comma(Atom) --> string(Codes), ",", !,{ atom_codes(Atom, Codes) }.
但没有任何改变。
我想我误解了一些基本概念,有人可以帮忙吗?我正在使用 SWIProlog