ali*_*ali 6 list character prolog character-encoding
我在prolog中有一个字符代码列表.
我想把它们改成字符.
例如,
L = "abc"
回报 L = [97,98,99]
假设我开始 L = [97,98,99]
无论如何将L转换回abc,如果存在方法
convert(L, X) 回报 X = abc
谢谢.
鉴于L="abc", convert(L, X), X = abc我要说你想从prolog字符串获取atom(参见数据类型描述).我想你想要atom_codes/2或类似的东西.它应该像L="abc", atom_codes(X, L).文档一样工作.
很遗憾,目前我的系统中没有SWI-Prolog.但这里是包含atom_codes/2的YAP
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
Run Code Online (Sandbox Code Playgroud)
不要忘记,如果你需要输出字符串,你不需要将它转换为原子.参见SWI(或YAP)中的格式/ 2
?- L="abc", format("~s~n", [L]).
abc
L = [97,98,99]
Run Code Online (Sandbox Code Playgroud)