Am 12.04.2010 um 17:51 schrieb Intransition: > On Apr 11, 4:55 pm, Robert Klemme <shortcut... / googlemail.com> wrote: > >>>> However you will need to define #<=> on the return value of recursive. >> >> Why that? The whole point would be to sort all elements that would be >> recursively returned. The #recursive return value would never be seen then. > > Do you run into the issue of sorting [1,2,3, [:a,:b,:c]] where by an > error is raised when it tries, 1 <=> [:a,:b,:c] ? How does recursively sorting [1,2,3, [:a,:b,:c]] make any sense? That's just as broken as trying to sort [:a, "b", 3, Time.now] - those values are not comparable and sort will raise. I can see sorting e.g. [[2,5,4],[3,2,1]] recursively making sense, though, the result being [[1,2,3],[2,4,5]]. But the above should just raise, anything else makes IMO no sense. Regards