天天看點

d原位與複制

enum Direction { asc, desc }
enum InPlace : bool { no, yes }

ref Arr sort(ref Arr arr, Direction dir, InPlace inPlace = InPlace.no)
{
    if (inPlace) {
        arr.sortInPlace(dir);
        return arr;
    } else {
        return arr.sortedCopy(dir);
    }
}

//用法:

auto sorted = arr.sort(asc); // 排序後副本
arr.sort(desc, InPlace.yes); // 原位排序