在prolog中可以执行像Variable = TermCompound这样的赋值吗?
例如:x= token (a,b,c)。
而且,如果你能做到这一点,从X可以推导出复合项的参数和函子吗?
发布于 2019-01-13 13:01:45
请参阅有关=/2
、functor/3
、=../2
和arg/3
标准谓词的Prolog系统文档。示例调用:
| ?- X = token(a, b, c).
X = token(a,b,c)
yes
| ?- X = token(a, b, c), functor(X, Name, Arity).
Arity = 3
Name = token
X = token(a,b,c)
yes
| ?- X = token(a, b, c), X =.. [Name| Arguments].
Arguments = [a,b,c]
Name = token
X = token(a,b,c)
yes
| ?- X = token(a, b, c), arg(2, X, Argument).
Argument = b
X = token(a,b,c)
yes
https://stackoverflow.com/questions/54167697
复制相似问题