From: "Jesús Gabriel y Galán" Date: 2009-01-15T01:11:11+09:00 Subject: Re: a beginner case question On Wed, Jan 14, 2009 at 4:56 PM, Taylor Strait wrote: > I am using case in to determine the sorting method used for an array as > so: > This does not because of the return statements. However, I need to > reverse the result for those two options. How can I do this with case > statements? Or must I use if..elsif? You can do this: def single_choice(object) # sort answer order based on question.list_method answers = object.answers sorted_answers = case object.list_method when 'position' then answers.sort_by {|answer| answer.position} when 'random' then answers.sort_by {rand} when 'alphabetical' then answers.sort_by {|answer| answer.text} when 'reverse_alpha' then answers.sort_by {|answer| answer.text}.reverse when 'shortest_first' then answers.sort_by {|answer| answer.text.length} when 'longest_first' then answers.sort_by {|answer| answer.text.length}.reverse end end Jesus.