]> git.netwichtig.de Git - user/henk/code/ruby/rbot.git/commitdiff
markov: Intern only when it makes sense
authorVoker57 <voker57@gmail.com>
Sat, 19 Dec 2009 15:44:41 +0000 (18:44 +0300)
committerVoker57 <voker57@gmail.com>
Mon, 25 Jan 2010 21:41:08 +0000 (00:41 +0300)
data/rbot/plugins/markov.rb

index a2b938a1d5b93f33883eeee1a1d6231927fea964..c574fd4b859b7640b5ca689742953b429da54c1e 100755 (executable)
@@ -153,7 +153,7 @@ class MarkovPlugin < Plugin
             next
           else
             # intern after clearing leftover end-of-actions if present
-            sym = w.chomp("\001").intern
+            sym = w.chomp("\001")
           end
         end
         hash[sym] += 1
@@ -542,7 +542,7 @@ class MarkovPlugin < Plugin
     else
       pairs = seq_pairs(words).sort_by { rand }
       pairs.each do |word1, word2|
-        line = generate_string(word1.intern, word2.intern)
+        line = generate_string(word1, word2)
         if line and message.index(line) != 0
           reply_delay m, line
           return
@@ -640,12 +640,12 @@ class MarkovPlugin < Plugin
       @bot.config['markov.ignore_patterns'].map do |pat|
         w =~ Regexp.new(pat.to_s)
       end.select{|v| v}.size != 0
-    end.map { |w| w.intern }
+    end
     return unless wordlist.length >= 2
     word1, word2 = MARKER, MARKER
     wordlist << MARKER
     wordlist.each do |word3|
-      learn_triplet(word1, word2, word3)
+      learn_triplet(word1, word2, word3.to_sym)
       word1, word2 = word2, word3
     end
   end