Ruby /避免在sort_by中为nil时出错

时间:2018-03-07 11:21:06

标签: arrays ruby

From this question(@mudasobwa);

input.sort_by { |h| sorter.index(h[:id]) }

在一些不幸的案件中; sorter.index(h[:id])返回nil,然后返回错误

如何清楚地避免这样的错误发生,同时对数组的其余部分进行排序?

1 个答案:

答案 0 :(得分:1)

input.sort_by { |h| [sorter.index(h[:id]) ? 1 : 0, sorter.index(h[:id])] }

这将获取所有值,根据它们是否具有最初可用的sorter.index(h [:id])对它们进行排序,然后按该值对具有该值的那些值进行排序