我有这个功能
test(X, Y, Z) :-
{ Z = Y+X },!.
当我运行查询时
test(1,X,8), test(X,4,8), test(1,5,X)
我能够获得 X 的值,但如果我这样做
test(X, Y, Z) :-
{ Z = Y**X },!.
我收到类似于每个查询的错误
未处理的异常:未知消息:type_error(nf(_G353**1,_G351),1,a numeric expression,_G353**1)
我尝试了其他运算符,它们都可以工作,我猜 ** 是特殊的,但我们具体如何处理呢?