ruby中 &:first 的意思

经常看到一些写法,比如

array = [['a',5],['b',3],['a',5]]
array.uniq(&:first).sort_by(&:last)

我们知道,&符号在ruby中是用来调用块的,而 : 符号一般是表示symbol类型,通常用来表示方法,或者调用类的实例变量(实例变量需要在类中用attr_reader或者attr_accessor声明。)
所以,上面的表达方式等同于array.uniq {|a| a.first}.sort_by {|x| x.last}
即先按照数组的第一个元素去重,然后再按照数组的最后一个元素排序。
http://stackoverflow.com/questions/1217088/what-does-mapname-mean-in-ruby参考第一个答案。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 在本教程中,将探讨使用Ruby开始编程所需的基本语法,以及如何在30分钟内快速入门学习并使用Ruby编程语言。 注...
    易百教程阅读 12,093评论 1 36
  • Perl 6 from Ruby - Nutshell 基本语法 语句结束分号 Ruby 使用换行(有几个例外)来...
    焉知非鱼阅读 4,225评论 0 1
  • 一、异同对比选择1、Python和ruby的相同点: * 都强调语法简单,都具有更一般的表达方式。python是缩...
    沃伦盖茨阅读 9,681评论 2 24
  • 我,自认为是一个旅游达人,跟团出游、自驾车游、自由行等等都试过,到过国内各省,出国游东南亚、欧洲。 今日百度一下‘...
    林泉雲霞阅读 6,343评论 0 2
  • 受到刘先森的影响,潜移默化的,我今天居然开始对民谣有感觉了。尤其是赵雷的歌,句句触动心弦。那质朴的歌声与词,都仿佛...
    水木兮默阅读 1,382评论 0 0

友情链接更多精彩内容