gpt4 book ai didi

prolog - 定子句语法,如何检查字符串是否为字符?

转载 作者:行者123 更新时间:2023-12-01 18:10:46 25 4
gpt4 key购买 nike

这对我来说似乎很好,但它总是给出错误......我不明白为什么。

letter(X) --> [C], {"a"=<C, C=<"z", name(X,[C])}.

谢谢。

最佳答案

最简单的方法是确保您的语法从一开始就正确获取字符。在这种情况下,您不需要使用 name/2(或者更确切地说 char_code/2)进行转换。

:- set_prolog_flag(double_quotes, chars).

letter(C) --> [C], { atom_length(C,1), a @=< C, C @=< z }.

这应该适用于任何系统。在SWI中,还有char_type/2:

letter(C) --> [C], { atom_length(C,1), char_type(C, lower) }.

除了 a..z 之外,这还接受其他小写字符,例如变音符号。

注意目标atom_length(C,1),它确保只有字符。否则,对于其他术语,letter//1 也会成功。

关于prolog - 定子句语法,如何检查字符串是否为字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43436616/

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