我在prolog中有一个字符代码列表。
我想将它们改成字符。
例如,
L = "abc"
返回L = [97,98,99]
假设我从L = [97,98,99]
无论如何将L转换回abc,如果存在方法
convert(L, X)
返回X = abc
感谢。
答案 0 :(得分:5)
鉴于L="abc", convert(L, X), X = abc
我说你想从prolog字符串中获取原子(参见Data types description)。
我想你想要atom_codes/2
或类似的东西。根据文档,它应该像L="abc", atom_codes(X, L).
一样工作。
很遗憾,目前我的系统中没有SWI-Prolog。但这里有YAP,其中包含atom_codes/2
YAP 6.3.2 (x86_64-linux): Sat Sep 1 08:24:15 EEST 2012
MYDDAS version MYDDAS-0.9.1
?- L="abc", atom_codes(X,L).
L = [97,98,99],
X = abc
不要忘记,如果你需要输出字符串,你就不需要将它转换为原子。请参阅format/2 in SWI(或in YAP)
?- L="abc", format("~s~n", [L]).
abc
L = [97,98,99]
答案 1 :(得分:4)
答案 2 :(得分:4)