Sha256: 1af7d88661efff0c528d8f474ca06fdf12be4180ee600c6620a5aa869ca7881e

Contents?: true

Size: 451 Bytes

Versions: 2

Compression:

Stored size: 451 Bytes

Contents

# coding: utf-8

module StringMetric
  module Levenshtein
    class TrieNode
      attr_accessor :word, :children

      def initialize
        @word = nil
        @children = {}
      end

      def insert(word)
        node = self
        word.codepoints.each do |char|
          node.children[char] = TrieNode.new unless node.children.key?(char)
          node = node.children[char]
        end
        node.word = word
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
string_metric-0.1.4 lib/string_metric/levenshtein/trie_node.rb
string_metric-0.1.3 lib/string_metric/levenshtein/trie_node.rb