院卒新人サラリーマンのメモ代わり

備忘としてのメモを記載

パターンマッチングとreduce

listを受け取ったときの定石2つ
1,パターンマッチング
先頭のみで処理が完結するとき

2,reduce(fold_left)
先頭以外の要素にも同様の処理をする必要があるとき

図にしてみると、このreduceの使い方はパターンマッチングを複雑にしただけだね
先頭だけで済む「組み合わせ」はパターンマッチングでやり、
残りの要素も必要な「順列」はfold_leftでやる

追記
ちょっと違うな
reduceは使い方が2種類ある
1,hdとf(rest)で結果が求まるもの
2,List.iterの結果をまとめるもの

f:id:blog59:20180903234341p:plainf:id:blog59:20180903235639p:plain