Class: PixelFontTrieOCR::Trie
- Inherits:
-
Object
- Object
- PixelFontTrieOCR::Trie
- Defined in:
- lib/pixel_font_trie_ocr/trie.rb,
lib/pixel_font_trie_ocr/trie/node.rb
Defined Under Namespace
Classes: Node
Instance Method Summary collapse
-
#initialize(char_masks = {}) ⇒ Trie
constructor
A new instance of Trie.
- #insert(character, columns) ⇒ Object
- #insert_hash(hash) ⇒ Object
- #parse(columns) ⇒ Object
- #root ⇒ Object
Constructor Details
#initialize(char_masks = {}) ⇒ Trie
Returns a new instance of Trie.
8 9 10 |
# File 'lib/pixel_font_trie_ocr/trie.rb', line 8 def initialize(char_masks = {}) insert_hash(char_masks) end |
Instance Method Details
#insert(character, columns) ⇒ Object
22 23 24 25 26 27 28 29 |
# File 'lib/pixel_font_trie_ocr/trie.rb', line 22 def insert(character, columns) node = root columns.each do |mask| node.children[mask] ||= Node.new node = node.children[mask] end node.character ||= character end |
#insert_hash(hash) ⇒ Object
16 17 18 19 20 |
# File 'lib/pixel_font_trie_ocr/trie.rb', line 16 def insert_hash(hash) hash.each_pair do |character, columns| insert(character, columns) end end |
#parse(columns) ⇒ Object
31 32 33 34 35 |
# File 'lib/pixel_font_trie_ocr/trie.rb', line 31 def parse(columns) columns = columns.dup columns << 0 unless columns.last.zero? match(columns) end |