gpt4 book ai didi

error-handling - 序言: Error Handling and Find Unique

转载 作者:行者123 更新时间:2023-12-03 08:36:31 27 4
gpt4 key购买 nike

鉴于:

fruitid('Apple', 'Granny Smith', 1).
fruitid('Apple', 'Cox', 2).
fruitid('Pear', 'Bartlett', 3).

我将如何去寻找例如唯一的项目:
is_unique(FruitName):-

在示例子句中,答案将是 pear 。

我还尝试向代码中添加错误处理,因此在这种情况下,如果输入为:
is_unique(pineapple)

如何捕捉并输出错误消息?

谢谢,

最佳答案

一种解决方案如下,使用Prolog取反:

is_unique(X):-fruitid(X,T1,I1),
\ + exist_other_fruit(X,T1,I1)。

exist_other_fruit(X,T1,I1):-
水果ID(X,T2,I2),
(T1,I1)\ =(T2,I2)。

对于错误处理,您可以使用Prolog if/3运算符(例如,在SICStus Prolog中定义;我对其他Prolog不了解),然后执行以下操作:

is_unique2(X):-
if(fruitid(X,T1,I1),\ + exist_other_fruit(X,T1,I1),
(print('未知水果:'),print(X),nl,失败))。

该代码的工作方式如下:

| ?-is_unique(X)。
X =“ pear ”? ;
没有
| ?-is_unique2(X)。
X =“ pear ”? ;
没有
| ?-is_unique2('Apple')。
没有
| ?-is_unique2(菠萝)。
未知水果:菠萝

关于error-handling - 序言: Error Handling and Find Unique,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2380421/

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