gpt4 book ai didi

prolog - 漂亮地打印一个序言术语

转载 作者:行者123 更新时间:2023-12-04 20:17:44 27 4
gpt4 key购买 nike

如何在 SWI-Prolog 中漂亮地打印术语列表。

我试过了:
portray_clause([term1, term2]).
但这只是在一个长流中写出,一个字符串甚至作为ascii字符代码列表出现 - 我希望在其中打印“abc”。

最佳答案

这是 SWI 中经常出现的问题。默认情况下,“abc”是一个字符代码列表,因此它被打印为:

?- Xs = "abc"。
Xs = [97, 98, 99]。

这可以轻松转换回来吗?
想象一下,您有一个距离列表,这些距离恰好是 97、98 和 99。在这种情况下,将字符串作为答案将非常具有误导性。因此,您的问题没有干净的解决方案,只要字符串表示法表示字符代码列表!

您可以将“abc”的含义切换为长度为 1 的原子的字符列表:

?- set_prolog_flag(double_quotes,chars)。
真的。

?- Xs = "abc"。
Xs = [a, b, c]。

如果您对此感到满意,可以使用 library(double_quotes) .

?- use_module(library(double_quotes))。
真的。
?- Xs = "abc"。
Xs = "abc"。

更多请见this thread .

关于prolog - 漂亮地打印一个序言术语,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10262143/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com