Class: WordGuesser::WordCollection
- Inherits:
-
Object
- Object
- WordGuesser::WordCollection
- Includes:
- Enumerable
- Defined in:
- lib/word_guesser/word_collection.rb
Instance Method Summary collapse
- #each ⇒ Object
- #guessed_letter_frequency ⇒ Object
- #in_dictionary ⇒ Object
-
#initialize(base_word, words) ⇒ WordCollection
constructor
A new instance of WordCollection.
- #size ⇒ Object
- #to_s ⇒ Object
Constructor Details
#initialize(base_word, words) ⇒ WordCollection
Returns a new instance of WordCollection.
5 6 7 8 |
# File 'lib/word_guesser/word_collection.rb', line 5 def initialize base_word, words @base_word = base_word @words = words end |
Instance Method Details
#each ⇒ Object
30 31 32 |
# File 'lib/word_guesser/word_collection.rb', line 30 def each @words.each {|word| yield word } end |
#guessed_letter_frequency ⇒ Object
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
# File 'lib/word_guesser/word_collection.rb', line 10 def guessed_letter_frequency frequencies = {} original_letters = @base_word.tr('_', '') @words.each do |word| word.tr(original_letters, '').each_char do |char| if frequencies.has_key? char frequencies[char] += 1 else frequencies[char] = 1 end end end frequencies end |
#in_dictionary ⇒ Object
26 27 28 |
# File 'lib/word_guesser/word_collection.rb', line 26 def in_dictionary WordCollection.new(@base_word, @words & Dictionary.words) end |
#size ⇒ Object
34 35 36 |
# File 'lib/word_guesser/word_collection.rb', line 34 def size @words.size end |
#to_s ⇒ Object
38 39 40 |
# File 'lib/word_guesser/word_collection.rb', line 38 def to_s @words.to_a.join ', ' end |