blob: f3a031d8ddaabe8a78cad9addedca66d8a768ba4 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
#!/usr/bin/env ruby
require 'zipf'
require 'optimist'
conf = Optimist::options do
banner "ng < <input>"
opt :n, "n for Ngrams", :type => :int, :default => 4
opt :fix, "Don't output lower order Ngrams.", :type => :bool, :default => false
opt :separator, "separte ngrams of a line by this string", :type => :string, :default => "\n"
end
while line = STDIN.gets
a = []
ngrams(line, conf[:n], conf[:fix]) { |ng| a << ng.join(' ') }
a.reject! { |i| i.strip.size==0 }
puts a.join conf[:separator] if a.size>0
end
|