Strategy パターン (for Julia)
● 多重ディスパッチ(ポ
リモーフィズム)を利
用して、引数の違いで
異なるアルゴリズムを
選択出来る
● sort() の alg=~
キーワード引数指定
で内部でstrategyパ
ターンを適用
julia> nums = [31, 41, 59, 26, 53, 58, 97, 93];
julia> sort(nums) # デフォルトソートアルゴリズム利用
#> [26, 31, 41, 53, 58, 59, 93, 97]
julia> sort(nums; alg=QuickSort) # クイックソート
#> [26, 31, 41, 53, 58, 59, 93, 97]
julia> sort(nums; alg=MergeSort) # マージソート
#> [26, 31, 41, 53, 58, 59, 93, 97]