Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
需要转换为Prolog规则的帮助吗_Prolog - Fatal编程技术网

需要转换为Prolog规则的帮助吗

需要转换为Prolog规则的帮助吗,prolog,Prolog,每个人都喜欢一份有趣又有报酬的工作 we=>喜欢(X,工作):-fun(工作),pay\u well(工作) 不确定它是否正确,我把Job作为变量是否重要 只需为另外两个谓词提供定义,您就有了一个工作程序。大致如下: likes_job(_Person, Job) :- is_fun(Job), pays_well(Job). is_fun('scuba diving instructor'). is_fun('tour guide'). pays_well('softwar

每个人都喜欢一份有趣又有报酬的工作

we=>喜欢(X,工作):-fun(工作),pay\u well(工作)


不确定它是否正确,我把Job作为变量是否重要

只需为另外两个谓词提供定义,您就有了一个工作程序。大致如下:

likes_job(_Person, Job) :-
    is_fun(Job),
    pays_well(Job).

is_fun('scuba diving instructor').
is_fun('tour guide').

pays_well('software developer').
pays_well('scuba diving instructor').
举几个例子:

?- likes_job('Peter', Job).
Job = 'scuba diving instructor' ;
false.

?- likes_job('Peter', 'software developer').
false.

?- likes_job('Peter', 'tour guide').
false.

?- likes_job('John', 'scuba diving instructor').
true.

?- likes_job(X, 'scuba diving instructor').
true.
不必定义这两个谓词,只需将它们声明为“动态”,它们现在为空(而不是不存在):


只要为另外两个谓词提供定义,您就有了一个工作程序。大致如下:

likes_job(_Person, Job) :-
    is_fun(Job),
    pays_well(Job).

is_fun('scuba diving instructor').
is_fun('tour guide').

pays_well('software developer').
pays_well('scuba diving instructor').
举几个例子:

?- likes_job('Peter', Job).
Job = 'scuba diving instructor' ;
false.

?- likes_job('Peter', 'software developer').
false.

?- likes_job('Peter', 'tour guide').
false.

?- likes_job('John', 'scuba diving instructor').
true.

?- likes_job(X, 'scuba diving instructor').
true.
不必定义这两个谓词,只需将它们声明为“动态”,它们现在为空(而不是不存在):


您可以将
Job
作为变量,当然,只要您希望它是一个变量(即,您的规则适用于任何作业,而不是一个特定作业)<不过,code>likes不是一个很好的名字。喜欢什么?你应该称之为更有意义的事情,也许:
喜欢你的工作
。还有,
X
?什么是
X
?对
X
有限制吗?如果一份工作很有趣而且薪水很高怎么办。那么这就是事实:
喜欢你的工作(大象,工作)
。如果大象能找到工作,我想那没关系。或者,你可以把
X
限制为一个人:
喜欢你的工作(X,工作):-person(X),fun(工作),pay(工作)。
@lower哦,现在我明白了。感谢LOT,您可以将
作业
作为变量,当然,只要您希望它是一个变量(即,您的规则适用于任何作业,而不是一个特定作业)<不过,code>likes不是一个很好的名字。喜欢什么?你应该称之为更有意义的事情,也许:
喜欢你的工作
。还有,
X
?什么是
X
?对
X
有限制吗?如果一份工作很有趣而且薪水很高怎么办。那么这就是事实:
喜欢你的工作(大象,工作)
。如果大象能找到工作,我想那没关系。或者,你可以把
X
限制为一个人:
喜欢你的工作(X,工作):-person(X),fun(工作),pay(工作)。
@lower哦,现在我明白了。谢谢