需要帮助理解数组排序ruby代码中发生的事情吗?

需要帮助理解数组排序ruby代码中发生的事情吗?,ruby,Ruby,我正在按姓氏的字母顺序排列一组驯鹿。以下代码让我感到困惑: def sort_reindeer reindeer_names reindeer_names.sort_by { |n| n.split.last } end 除了split方法在没有给出参数来确定在何处拆分时如何工作之外,我还了解所有的事情?然后我不确定last做了什么..它只是返回数组中的最后一个元素吗?我知道这不可能,因为数组是按顺序返回的 所以我猜最后一个是怎么做排序的?谢谢您的帮助。的文档说明 如果省略[参数],则值为

我正在按姓氏的字母顺序排列一组驯鹿。以下代码让我感到困惑:

def sort_reindeer reindeer_names
  reindeer_names.sort_by { |n| n.split.last }
end
除了split方法在没有给出参数来确定在何处拆分时如何工作之外,我还了解所有的事情?然后我不确定last做了什么..它只是返回数组中的最后一个元素吗?我知道这不可能,因为数组是按顺序返回的

所以我猜最后一个是怎么做排序的?谢谢您的帮助。

的文档说明

如果省略[参数],则值为$;使用。若美元;是零,这是零 默认情况下,str在空白处拆分,就像指定了``一样

所以它在空格上分裂


至于last,它只是返回数组的最后一个元素。sort\u by使用该值对数组进行排序。

能否显示驯鹿名称的可能示例?