Prolog 序言-需要关于事实的信息
假设我有这样一个事实:Prolog 序言-需要关于事实的信息,prolog,fact,Prolog,Fact,假设我有这样一个事实: bigger(cat,mouse). 如果我想向某人描述这一点,我会说“猫是这个事实中的第一个术语,鼠标是第二个术语”是正确的吗?或者我会把猫和鼠标称为原子,并说“猫是这个事实中的第一个原子,鼠标是第二个”。我认为,参数是一个完美的词。但通常要用以下形式来描述谓词: predicate/arity : predicate(arguments...) description of arguments 这里会有这样的情况: bigger/2 : bigger(Bigger
bigger(cat,mouse).
如果我想向某人描述这一点,我会说“猫是这个事实中的第一个术语,鼠标是第二个术语”是正确的吗?或者我会把猫和鼠标称为原子,并说“猫是这个事实中的第一个原子,鼠标是第二个”。我认为,参数是一个完美的词。但通常要用以下形式来描述谓词:
predicate/arity : predicate(arguments...)
description of arguments
这里会有这样的情况:
bigger/2 : bigger(Bigger, Lesser)
Holds if Bigger is bigger than Lesser.
此外,您还可以精确参数的模式:+对于输入,-对于输出?对于这两种模式(对于纯输入,请参阅@false的答案),以获取更多关于模式的信息(如果需要)
此处的完整版本可以是:
bigger/2 : bigger(?Bigger, ?Lesser)
Holds if Bigger is bigger than Lesser.
您的第一个描述是公平的,即“术语”是递归数据结构:即术语是原子、数字或结构,其中结构是“名称(arg1,arg2,…”,每个参数都是术语 所以你的第二个描述更准确(受限)
正如其他答案所指出的,“参数”是用结构化术语对位置标识属性的通常命名。要把事情搞混一点,我可能会说,
biger
是一种二进制关系,在cat
和mouse
之间