如果你只是從從命令行啓動的Prolog你得到這樣的:
?-
然後光標正在等待你輸入的東西。然後,你可以寫括號之間的整數的列表,並把它放在一個變量,它看起來是這樣的:如果你想看看是否所有元素都是整數,你可以寫
?- [1,2,3] = X.
現在:
?- [1,2,3] = X,
maplist(integer, X).
現在
,如果你想找到的最小值和最大值,您可以使用庫謂詞是這樣的:
?- [1,2,3] = X,
maplist(integer, X),
min_list(X, Min),
max_list(X, Max),
sum_list(X, Sum).
如果你真的想要做一次全部,你可以做這樣的可能:
integers_min_max_sum([I|Is], Min, Max, Sum) :-
integers_min_max_sum_1(Is, I, I, I, Min, Max, Sum).
integers_min_max_1([], Min, Max, Sum, Min, Max, Sum).
integers_min_max_1([I|Is], Min0, Max0, Sum0, Min, Max, Sum) :-
integer(I),
Min1 is min(Min0, I),
Max1 is max(Max0, I),
Sum1 is Sum0 + I,
integers_min_max_1(Is, Min1, Max1, Sum1, Min, Max, Sum).
?- integers_min_max_sum([1,2,3, ...], Min, Max, Sum).
但是這真的比使用庫謂詞更好嗎?也許,或者不是。
爲什麼你這樣做? Prolog有交互式解釋器,它被稱爲「頂層」,如果你有C,也許你需要自己做解釋器,但是在Prolog中,解釋器可以爲你做閱讀。 –