最小値・最大値を求める
ふたつの値のうち小さいほう/大きいほうを求めるには、つぎのようにします。
code: (haskell)
min 23 52
23
max 23 52
52
関数min、maxの型は、つぎのようになります。
code: (haskell)
min :: Ord a => a -> a -> a
max :: Ord a => a -> a -> a
これらの関数は、数値にかぎらず、大小比較のできる型の値であれば、
どのよう値にたいしても適用することができます。
みっつ以上の値から最小のもの/最大のものを求めるには、つぎのようにします。
code: (haskell)
3
12
関数minimum、maximumの型は、つぎのようになります。
code: (haskell)
minimum :: (Ord a, Foldable t) => t a -> a
maximum :: (Ord a, Foldable t) => t a -> a
これらの関数は、リストだけでなく、「たたみこみ」のできる構造であれば、
どのような構造からでも最小値/最大値を、とりだすことができます。
code: (haskell)
:module Data.Tree
t = Node 8 [Node 3 [], Node 4 []]
minimum t
3
maximum t
8
このように木構造をあらわすTree型の値から最小値/最大値を、とりだすことができます。