我在序言中有一个字符代码列表。
我想把它们变成字符。
例如,
L = "abc"
返回 L = [97,98,99]
假设我从L = [97,98,99]
无论如何将 L 转换回 abc 这样,如果存在方法
convert(L, X)
返回X = abc
谢谢。
我在序言中有一个字符代码列表。
我想把它们变成字符。
例如,
L = "abc"
返回 L = [97,98,99]
假设我从L = [97,98,99]
无论如何将 L 转换回 abc 这样,如果存在方法
convert(L, X)
返回X = abc
谢谢。
鉴于L="abc", convert(L, X), X = abc
我会说您想从序言字符串中获取原子(请参阅数据类型描述)。我猜你想要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
也不要忘记,如果您需要输出字符串,则不需要将其转换为 atom。请参阅SWI(或YAP)中的 format/2
?- L="abc", format("~s~n", [L]).
abc
L = [97,98,99]