prolog - Prolog 中的这个错误是什么意思?

标签 prolog logic declarative

我正在 Prolog 中编写一个小程序来查找输入的国家/地区的首都,但我在第 10 行和第 11 行始终收到此错误:

错误:c:/users/cesar downs/documents/capital.pl:10:语法错误:需要运算符 错误:c:/users/cesar downs/documents/capital.pl:11:语法错误:需要运算符

我真的不明白,这是代码:

capital_of(guatemala, guatemala).
capital_of(tegucigalpa, honduras).
capital_of(san_salvador, el_salvador).
capital_of(managua, nicaragua).
capital_of(san_jose, costa_rica).
capital_of(panamá, panamá).

%Rules

Capital:- write(‘Enter the country: ‘),Read(Country),Answer(Country).
Answer(Country):- capital_of(Country,City),Write(‘The capital of: ‘),Write(Country),Write(‘ is ‘),Write(City).

最佳答案

顺便说一句,还可以考虑使用 format/2。例如,代替:

answer(Country) :-
    capital_of(Capital, Country),
    write('The capital of: '),
    write(Country),
    write(' is '),
    write(Capital).

你可以写:

answer(Country) :-
    capital_of(Capital, Country),
    format("The capital of: ~w is ~w", [Country,Capital]).

关于prolog - Prolog 中的这个错误是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9518761/

相关文章:

algorithm - 与人工智能中的最佳优先搜索相关的问题是什么?

javascript - Javascript 中参数按值传递与参数作为局部变量传递

cryptography - FPGA逻辑单元数量与性能的关系

SwiftUI:ObservableObject 在重绘时不会保持其状态

prolog 将函数作为变量传递,如何添加参数?

Prolog:从谓词列表生成一组所有基本术语

Prolog 子句单独终止,但不一起终止

prolog - 如果 X = f(X),Prolog 会做什么?

logic - 转换为 XOR 合取形式