ruby中 &:first 的意思

Python014

ruby中 &:first 的意思,第1张

经常看到一些写法,比如

我们知道, &符号在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 参考第一个答案。

1. 把文本文件中的ip提取出来,放入数组如ipArray中

2. 用ipArray.uniq!() 来删除重复的ip,如有2个相同ip,运行方法,后剩下了1个

3. 然后count = ipArray.size

count 就是不同ip的个数啦。