gpt4 book ai didi

Prolog 类型不兼容

转载 作者:行者123 更新时间:2023-12-02 11:45:26 24 4
gpt4 key购买 nike

Visual Prolog 8 抛出错误 c504:表达式的类型为“() ->::char procedure”,与类型“::char”不兼容。

ma​​in.pro

implement main
open core, console

class predicates
цикл : ().
print : ().

clauses
цикл().

print() :-
console::initUtf8(),
цикл,
C = readChar,
/* Читать символ и связывать его с переменной C */
write(C),
C1 = convert(char, C),
C2 = convert(char, '\r').
C1 = C2.
/* Является ли введенный символ возвратом каретки? fail, если нет */

run() :-
цикл,
fail.

run() :-
succeed.
% place your own code here

end implement main

goal
mainExe::run(main::run).

如何解决?

最佳答案

您似乎在这里遇到错误:

    print() :-
....
цикл,
C = readChar, % <<-------

你应该这样写

        C = readChar<b>()</b>,

searching for readChar在手册中,我们可以看到建议的用法为

_ = console::readChar().

错误消息似乎表明了相同的内容:readChar “是一个 () -> char 类型的过程。”,而不是 < em>“一个字符”。您的 C 是一个 char。要从过程中获取结果,我们通常需要运行它(此“运行”与代码中的 run 无关)。

关于Prolog 类型不兼容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47120962/

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