summaryrefslogtreecommitdiff
path: root/benchmark/bm_so_count_words.rb
blob: a24062d258dc8fbbaa9e18dd8f2c509ded0f551d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#!/usr/bin/ruby
# -*- mode: ruby -*-
# $Id: wc-ruby.code,v 1.4 2004/11/13 07:43:32 bfulgham Exp $
# http://www.bagley.org/~doug/shootout/
# with help from Paul Brannan

input = open(File.join(File.dirname($0), 'wc.input'), 'rb')

nl = nw = nc = 0
while true
  data = (input.read(4096) or break) << (input.gets || "")
  nc += data.length
  nl += data.count("\n")
  ((data.strip! || data).tr!("\n", " ") || data).squeeze!
  #nw += data.count(" ") + 1
end
# STDERR.puts "#{nl} #{nw} #{nc}"