下午在看hadoop的时候突发奇想,用ruby来写一个wordcount程序。由于对ruby的方法不是特别熟悉,花了一些时间,但收获了一些让人意想不到的收获。
先来看代码吧:
m={}
File.open("test1.txt") do |f|
f.each_line do |line|
line.chomp! #去除每行结尾的回车(\n),加!可以改变line
line.split(/\.|,|[ ]/).each{|s| m[s]=m[s].to_i+1}#使用正则表达式切分每一行
end
f.close
end
puts m
简单几行代码就实现了一个简单的wordcount,另外发现的split的神奇用法,比较开心~