Iterator
whose elements are sorted by the functionpassed in argument.
class Person
var name: String
end
def get_name(p: Person) do return p.name
var ps = [new Person("Turing"), new Person("Curry"), new Person("Alfredo")]
var ordered_names = ps.iterator.order_by(&get_name).map(&get_name).to_a
assert ordered_names == ["Alfredo", "Curry", "Turing"]
# Generates an `Iterator` whose elements are sorted by the function
# passed in argument.
#
# ~~~~nitish
# class Person
# var name: String
# end
#
# def get_name(p: Person) do return p.name
#
# var ps = [new Person("Turing"), new Person("Curry"), new Person("Alfredo")]
# var ordered_names = ps.iterator.order_by(&get_name).map(&get_name).to_a
# assert ordered_names == ["Alfredo", "Curry", "Turing"]
# ~~~~
fun order_by(f: Fun1[E, Comparable]): OrderedIter[E]
do
return new OrderedIter[E](self, f)
end
lib/functional/iter_extras.nit:209,9--226,11