Class: MarkovChains::Generator
- Inherits:
-
Object
- Object
- MarkovChains::Generator
- Defined in:
- lib/markov_chains/generator.rb
Instance Method Summary collapse
-
#get_sentences(n) ⇒ Object
Returns a given number of randonly generated sentences.
-
#initialize(text, order = 1) ⇒ Generator
constructor
Initializes the generator.
Constructor Details
#initialize(text, order = 1) ⇒ Generator
Initializes the generator
11 12 13 |
# File 'lib/markov_chains/generator.rb', line 11 def initialize(text, order = 1) @dict = MarkovChains::Dictionary.new(text, order) end |
Instance Method Details
#get_sentences(n) ⇒ Object
Returns a given number of randonly generated sentences
23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
# File 'lib/markov_chains/generator.rb', line 23 def get_sentences(n) sentences = [] n.times do sentence = @dict.get_start_words while nw = @dict.get(sentence[-@dict.order, @dict.order]) sentence << nw end sentences << (sentence[0...-1].join(" ").gsub(/\s([,;:])/, '\1') << sentence.last) end sentences end |