I know how to put an array in order, but in this case I just want to see if it is in order. An array of strings would be the easiest, I imagine, and answers on that front are appreciated, but an answer that includes the ability to check for order based on some arbitrary parameter is optimal.
Here’s an example dataset. The name of:
[["a", 3],["b",53],["c",2]]
Where the elements are themselves arrays containing several elements, the first of which is a string. I want to see if the elements are in alphabetical order based on this string.
It looks like a generic abstraction, let’s open
Enumerable:Notice that we have to write
(a <=> b) <= 0instead ofa <= bbecause there are classes that support<=>but not the comparator operators (i.e. Array), since they do not include the module Comparable.You also said you’d like to have the ability "to check for order based on some arbitrary parameter":
Using lazy enumerables (Ruby >= 2.1), we can reuse
Enumerable#sorted?: