如何在Prolog中一起加入列表中的字符?

bla*_*ing 0 prolog

例如:["c","h","a","r"]应该打印"char".

它的atomic_list_concat(),但是我该怎么做呢:

longest_common_prefix([H1,H2|T], P) :-
    maplist(append(P), L, [H1,H2|T]).
Run Code Online (Sandbox Code Playgroud)

fal*_*lse 5

使用这里library(double_quotes)描述的,我们可以使用(注意2!):append/2

?- set_prolog_flag(double_quotes).
   true.

?- append(["c","h","a","r"], Cs).
   Cs = "char".
Run Code Online (Sandbox Code Playgroud)

但是,请注意,"c"不是有个性!这是一个包含一个字符的列表.单个角色就是c一个人.而且大多数时候,你不需要写"c"

?- [c,h,a,r] = "char".
   true.
Run Code Online (Sandbox Code Playgroud)

  • 谢谢,这段时间我一直在想"c"是一个角色! (2认同)