到目前为止,我已经找到了如何根据群组规范对哈希进行排序:
bycohort = students.sort_by { |v| v[:cohort] }
此方法允许我在输入法中对哈希值进行排序。一旦使用print_with_index方法打印,它会将其输出到屏幕:
1. Penny (january cohort)
2. Nicole (may cohort)
3. Ali (may cohort)
4. Jack (november cohort)
5. John (november cohort)
6. Olu (november cohort)
7. Henry (september cohort)
8. Olivia (september cohort)
我使用单独的方法打印哈希数组:
def print_with_index(students)
students.each_with_index do |students, index|
index_plus_one = index + 1
puts "#{index_plus_one}. #{students[:name]} (#{students[:cohort]} cohort)"
end
end
我想删除11月份队列中的所有哈希值。我怎么这样做,因为我很难过。
答案 0 :(得分:1)
students.select! { |student| student[:cohort] == :november }
如果student[:cohort]
是符号。否则,如果是字符串
students.select! { |student| student[:cohort] == 'november' }
或者,这适用于两者
students.select! { |student| student[:cohort].to_sym == :november }