Prolog 写経記 その 59 min/3

(ほぼ) 毎日淡々と Prolog を写経します.元ネタはこちら.

Prologユーティリティライブラリ

Prologユーティリティライブラリ

続けて min/3 を写経します.

解説

min(Numlist, Min) は数のリスト Numlist 中の最小値を返すか,あるいは MinNumlist 中で最小の数かどうかを調べる.

ふむ.

モード

min(+, +, ?).

ふむふむ.

定義

では,こいつの定義を写経しませう.

min(X, Y, X) :-
	X =< Y, !.
min(X, Y, Y) :-
	Y < X, !.

ふむふむふむ.
そのまんま,ですね.

注記

min/3 は比較対象が数でないときは失敗する.min/3 をアトムに適用するには,アルファベット比較演算子 ale,alt (3 章参照) をそれぞれ =<,< の代わりに用いるとよい.

ふむふむふむふむ.

では使用例を写経しませう.

7 ?- min(-23, 14, M).

M = -23 

Yes
8 ?- min(7.9, 9.11, 7.9).

Yes

ふむふむふむふむふむ.
特にどうという事もなく.


はい.今日の min/2,min/3 はともに昨日のこぴぺです.だって一緒なんだもん.
ただでさえ「つまんね」と言われてるのに...
心より恥じる.