sel*_*cia 4 prolog type-conversion swi-prolog
我正在尝试将字符数组转换为字符串,然后将该字符串转换为列表。这就是我要的:
code_list=[97 97]
string_s="aa"
string_list=[aa]
Run Code Online (Sandbox Code Playgroud)
我不确定符号,我是否正确使用了它们。
小智 5
一些示例可以帮助您理解在 SWI-Prolog 中表示“字符串”的不同方式,以及从一种表示形式转换为另一种表示形式(请注意,Prolog 并不真正具有类型,因此这不是类型转换)。
这是 SWI-7 及更高版本的全部内容:
$ swipl --version
SWI-Prolog version 7.1.27 for x86_64-linux
Run Code Online (Sandbox Code Playgroud)
现在,从顶层:
?- atom(foo).
true.
?- string("foo").
true.
?- is_list(`foo`).
true.
?- is_list([f,o,o]).
true.
?- atom_chars(A, [f,o,o]).
A = foo.
?- atom_codes(foo, Codes).
Codes = [102, 111, 111].
?- string_codes(Str, `foo`).
Str = "foo".
?- write(`foo`).
[102,111,111]
true.
?- string_chars(Str, [f,o,o]).
Str = "foo".
Run Code Online (Sandbox Code Playgroud)
如果您想了解更多信息,您应该阅读有关所使用谓词的文档。