:- dynamic somepig/1.
runtest :-
assert(somepig(6)), % Edit : just to be more precise, somepig is dynamic
somepig(X),
writeln(X+3).
此代码最终打印“6+3”。我猜要么 X 采用了一种无法进行算术运算的类型,要么当我分配“somepig”时,“6”会自动被视为字符串或其他类型。
无论如何我可以明确指定 X 为整数或其他?像这样的东西可能吗?
runtest :-
somepig(X is int)
writeln(X+3). % outputs 9