てきとうなメモ

本の感想とか技術メモとか

Case

パターンマッチの条件分岐もCaseを使って右辺に書くことができる.構文は

case Expr of
    Pattern1 ->
        Expr1;
    ...
    PatternN ->
        ExprN
end

これでqsortを書き換えると,

qsort(List) -> 
    case List of
	[] ->
	    [];
	[Pivot|Rest] ->
	    qsort([X || X <- Rest, X =< Pivot]) ++ [Pivot] ++ qsort([X || X <- Rest, X > Pivot])
    end.