Sha256: cb8b997b2df459c392c9a185472699e38dfc188c72c2a9afaa04306010109cc7
Contents?: true
Size: 511 Bytes
Versions: 396
Compression:
Stored size: 511 Bytes
Contents
(defmodule word-count (export (count 1))) (defun count (string) (lists:foldl (lambda (k acc) (dict:update_counter k 1 acc)) (dict:new) (tokenize (string:to_lower string)))) (defun alnum? (char) (orelse (=< #\a char #\z) (=< #\0 char #\9))) (defun sep? (char) (not (alnum? char))) (defun tokenize ([()] ()) ([string] (case (lists:splitwith #'alnum?/1 (lists:dropwhile #'sep?/1 string)) (`#([] ,rest) (tokenize rest)) (`#(,word ,rest) (cons word (tokenize rest))))))
Version data entries
396 entries across 396 versions & 1 rubygems