Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/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_Operators - Fatal编程技术网

Prolog中的执行顺序:;操作人员

Prolog中的执行顺序:;操作人员,prolog,operators,Prolog,Operators,我目前正在钻研Prolog,但是来自JavaScript背景的我觉得很奇怪。例如,我有这样一个定义: np # Subject, pp # IObject ; np # IObject, 然而,在执行过程中,结果并不像预期的那样。但当使用偏执论时,它是 np # Subject, (pp # IObject ; np # IObject), 这对我来说似乎很奇怪,因为,是一个分隔符,所以不需要偏执。偏执狂在序言中到底做了什么。请记住,我对Prolog非常陌生。,的值低于。这在Prolog中意

我目前正在钻研Prolog,但是来自JavaScript背景的我觉得很奇怪。例如,我有这样一个定义:

np # Subject,
pp # IObject ; np # IObject,
然而,在执行过程中,结果并不像预期的那样。但当使用偏执论时,它是

np # Subject,
(pp # IObject ; np # IObject),

这对我来说似乎很奇怪,因为
是一个分隔符,所以不需要偏执。偏执狂在序言中到底做了什么。请记住,我对Prolog非常陌生。

的值低于
。这在Prolog中意味着什么,是这样的表达式吗

X ; Y , Z
被解释为

X ; (Y , Z)
要以另一种方式对它们进行分组,必须使用括号:

(X ; Y) , Z

的值低于
。这在Prolog中意味着什么,是这样的表达式吗

X ; Y , Z
被解释为

X ; (Y , Z)
要以另一种方式对它们进行分组,必须使用括号:

(X ; Y) , Z

的值低于
。这在Prolog中意味着什么,是这样的表达式吗

X ; Y , Z
被解释为

X ; (Y , Z)
要以另一种方式对它们进行分组,必须使用括号:

(X ; Y) , Z

的值低于
。这在Prolog中意味着什么,是这样的表达式吗

X ; Y , Z
被解释为

X ; (Y , Z)
要以另一种方式对它们进行分组,必须使用括号:

(X ; Y) , Z

考虑到
只是列表的一个分隔符,而
,这不是很奇怪吗
是一个实际的运算符?逗号也是一个运算符。尝试查询
current_op(Priority,Type,,”)。
@重复,是的,确实如此。@重复确实如此。考虑到
只是列表的分隔符,而
,这不是很奇怪吗
是一个实际的运算符?逗号也是一个运算符。尝试查询
current_op(Priority,Type,,”)。
@重复,是的,确实如此。@重复确实如此。考虑到
只是列表的分隔符,而
,这不是很奇怪吗
是一个实际的运算符?逗号也是一个运算符。尝试查询
current_op(Priority,Type,,”)。
@重复,是的,确实如此。@重复确实如此。考虑到
只是列表的分隔符,而
,这不是很奇怪吗
是一个实际的运算符?逗号也是一个运算符。请尝试查询当前操作(优先级,类型,,)。
@repeat,是的,确实如此。@repeat,确实如此。