Prolog连接列表中的所有元素来创建一个字符串?

时间:2017-12-10 22:20:34

标签: string list prolog

如何在prolog中将列表中的所有元素连接在一起?我正在尝试将它与我输出列表的当前函数集成。

输入= [a,b,c,d]

输出=" abcd"

1 个答案:

答案 0 :(得分:2)

如果您输入的列表包含字符,请使用此处:此处列表包含字符,在X中您可以获得结果。

concate(X,List):-
   atom_chars(X,List).

对于此查询,您可以获得结果:

concate(X,[a,b,c,d]).
  X = abcd.

这里X得到的结果是原子而不是字符串。

现在,如果你想要一个字符串,并且你的列表包含原子,那么你可以使用它:

atomsToString(List,X):-
    atomics_to_string(List,X).

使用此查询:

?- atomsToString([a,b,c,d],X).
X = "abcd".

这里X包含一个字符串。