Say i have a bunch of note objects, which have a ‘name’ string, eg ‘A’
‘B#’, ‘Cb’, ‘D’ etc.
I want to order them starting at ‘C’ through to ‘B’ - what’s a simple
way to do this?
thanks
max
Say i have a bunch of note objects, which have a ‘name’ string, eg ‘A’
‘B#’, ‘Cb’, ‘D’ etc.
I want to order them starting at ‘C’ through to ‘B’ - what’s a simple
way to do this?
thanks
max
Max W. wrote:
Say i have a bunch of note objects, which have a ‘name’ string, eg ‘A’
‘B#’, ‘Cb’, ‘D’ etc.I want to order them starting at ‘C’ through to ‘B’ - what’s a simple
way to do this?
Define a <=> operator in your class.
class Note
include Comparable
def <=>(other)
name <=> other.name # modify this to give your desired ordering
end
end
‘include Comparable’ also gives you <, >, <= and >= operators based on
<=>
Brian C. wrote:
Define a <=> operator in your class.
class Note
include Comparable
def <=>(other)
name <=> other.name # modify this to give your desired ordering
end
end‘include Comparable’ also gives you <, >, <= and >= operators based on
<=>
thanks!
On 06.01.2009 12:17, Max W. wrote:
‘include Comparable’ also gives you <, >, <= and >= operators based on
<=>thanks!
An alternative approach is to do
notes.sort_by {|note| … appropriate extraction here… }
or
notes.sort {|note_a, note_b| … desired ordering code … }
Cheers
robert
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.
Sponsor our Newsletter | Privacy Policy | Terms of Service | Remote Ruby Jobs