-- $Id: wc.lua,v 1.1 2001/05/14 16:33:47 doug Exp $ -- http://www.bagley.org/~doug/shootout/ -- from Roberto Ierusalimschy BUFSIZE = 2^12 local cc,lc,wc = 0,0,0 while 1 do local lines, rest = read(BUFSIZE, "*l") if lines == nil then break end if rest then lines = lines..rest..'\n' end cc = cc+strlen(lines) local _,t = gsub(lines, "%S+", "") -- count words in the line wc = wc+t _,t = gsub(lines, "\n", "\n") -- count newlines in the line lc = lc+t end write(lc, " ", wc, " ", cc, "\n")