Fix MarkovChainer initialization
[rbot-mark] / test.rb
1 #! /usr/bin/ruby -w
2 # vim: set sw=2 et:
3 # Author: Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
4 # New markov chain plugin tester
5
6 require 'mark2'
7
8 fname = ARGV.fetch(0, "promessi.txt")
9
10 ord = ARGV.fetch(1, 5).to_i
11
12 mkv = MarkovChainer.new(ord)
13
14 size = File.size?(fname)
15
16 return unless size
17
18 old_ratio = 0
19 File.open(fname) { |file|
20   file.each { |line|
21     mkv.learn(line)
22     new_ratio = file.pos*100/size
23     if new_ratio > old_ratio
24       old_ratio = new_ratio
25       puts "Learned #{new_ratio}%"
26       10.times do
27         puts mkv.complete("")
28       end
29     end
30   }
31 }
32
33