我们知道, &符号在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的个数啦。