class Dawg::Node
Attributes
edge_count[RW]
edges[RW]
final[RW]
id[RW]
index[RW]
Public Class Methods
new(id: @@next_id, final: false, edge_count: 0, index: -1)
click to toggle source
# File lib/dawg/node/node.rb, line 7 def initialize(id: @@next_id, final: false, edge_count: 0, index: -1) @id = id @@next_id += 1 @final = final @edge_count = edge_count @index = index @edges = {} end
Public Instance Methods
==(other)
click to toggle source
# File lib/dawg/node/node.rb, line 37 def ==(other) to_s == other.to_s end
[](letter)
click to toggle source
# File lib/dawg/node/node.rb, line 41 def [](letter) @edges[letter] end
each_edge() { |letter| ... }
click to toggle source
# File lib/dawg/node/node.rb, line 45 def each_edge(&block) @edges.each do |letter, node| yield letter end end
hash()
click to toggle source
# File lib/dawg/node/node.rb, line 33 def hash to_s.hash end
to_s()
click to toggle source
# File lib/dawg/node/node.rb, line 16 def to_s arr = [] if @final arr<<'1' else arr<<'0' end @edges.each do |label,node| arr << label.to_s arr << node.id.to_s end arr.join('_') end