我想學習SWI序言, 但我簡單的程序失敗,當我相信它應該成功。序言,使用表達式
%My code:
orthogonal((X1,Y1,Z1),(X2,Y2,Z2)) :- (X1*X2)+(Y1*Y2)+(Z1*Z2)==0.
integerVector((X,Y,Z)) :- integer(X),integer(Y),integer(Z).
?-orthogonal((1,0,0),(0,0,1)).
我按在pseudoemacs窗口編譯緩衝器和輸出是:
% [PATH].pl compiled 0.00 sec, 136 bytes
ERROR: emacs_prolog_mode ->error_at_location: Argument 1 (int): `int' expected, found `@11470948?start'
ERROR: emacs_prolog_mode ->error_at_location: Argument 1 (int): `int' expected, found `@11470948?start'
Warning: [PATH]s.pl:5:
Goal (directive) failed: user:orthogonal((1,0,0), (0,0,1))
我應該用什麼來代替三元組? – 2011-05-30 04:53:17
@Oxinabox:如果你所有的矢量都是3d,可以使用列表或者函數v/3。 – 2011-05-30 06:20:03