What's problem of overloading? We only have four methods to do so. Dave Abrahams <[email protected]> 於 2016年1月1日星期五 寫道:
> > On Dec 31, 2015, at 4:14 AM, Tino Heth <[email protected] > <javascript:_e(%7B%7D,'cvml','[email protected]');>> wrote: > > > func byComparing<T, U: Comparable>(getComparisonKey: (T)->U) -> (T, T) -> > Bool { > return { getComparisonKey($0) < getComparisonKey($1) } > } > > I've written something similar to bring file URLs into the order of their > creation dates. > It is a small extension for collection types, and its only downside will > disappear as soon as properties are accessible via method calls (afair > there is a proposal in the making). > > It was quite a lot fiddling with generics, and I don't have the tiny piece > of code on my own computer, but it works in a way that you can do > let sorted = > array.sortUsingAccessor(ElementType.methodThatReturnsComparable) > Beside the problems with properties, I really liked that approach. > > > This seems to be essentially the same design as Susan’s, and has the same > problem: it requires a new overload for every algorithm that takes a > comparison predicate. > > -Dave > >
_______________________________________________ swift-evolution mailing list [email protected] https://lists.swift.org/mailman/listinfo/swift-evolution
