Информация в массиве:
scores = %w[ScoreA ScoreB ScoreC ScoreD ScoreE ScoreF ScoreG ScoreH ScoreI ScoreJ]
должна быть представлена в порядке возрастания результатов игры в гольф.
Может ли кто-нибудь помочь отсортировать выходные данные в порядке возрастания?
golf = scores.map do |score_number| print "Enter the score for #{score_number}:" [score_number, gets.to_i] end puts golf.sort
Просто используйте Array#sort с блоком
Array#sort
golf.sort { |a, b| a.last <=> b.last }
или Enumerable#sort_by
Enumerable#sort_by
golf.sort_by { |a| a.last }
Второй вариант можно сократить , используя Proc
Proc
golf.sort_by(&:last)
golf.sort { |x, y| x[1] <=> y[1] } => [["ScoreH", 1], ["ScoreB", 3], ["ScoreD", 4], ["ScoreF", 9], ["ScoreA", 10], ["ScoreJ", 23], ["ScoreG", 45], ["ScoreC", 67], ["ScoreI", 87], ["ScoreE", 88]]