gpt4 book ai didi

io - 使用 Prolog 输出任何字符串输入

转载 作者:行者123 更新时间:2023-12-01 04:56:29 28 4
gpt4 key购买 nike

检查是否可以使用基本模型 prolog(无模块)可靠地格式化字符串。我有以下代码,我认为它可以工作,但没有:

hello(_) :-
write('\nEnter Name: '),
read(Name),
format('\nThe name you entered is: ~s', [Name]).

如果用户输入 Bob.,则会引发错误。但如果用户输入 "Bob". 则有效或 'Bob'.
ERROR: format/2: Illegal argument to format sequence ~s: _G7118

我也试过用 writeq 替换格式像:
hello(_) :-
write('\nEnter Name: '),
read(Name),
writeq(Name).

这不会引发错误,但最终会打印 _L143而不是 Bob

最佳答案

(评论太长了)

不要使用 read就像@lurker 解释的那样,它不是用于输入“字符串”或“文本”或完全回答问题。甚至在走这条路之前,问问自己:“为什么?”

Prolog 顶层是您的交互式命令行提示符。它不像 C 或任何其他需要实际制作解释器的编译语言。

所以,你的 hello/1可能看起来像这样:

hello(Name) :-
format("~w~n", [Name]).

你还需要说 hello("Bob")hello('Bob')当然,从提示。

如果你想在 Prolog 顶层创建自己的解释器,这完全是另一回事。

关于io - 使用 Prolog 输出任何字符串输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36797007/

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