Class: Okura::Words::Builder
- Inherits:
-
Object
- Object
- Okura::Words::Builder
- Defined in:
- lib/okura.rb
Instance Method Summary collapse
- #add(word) ⇒ Object
- #build ⇒ Object
-
#initialize ⇒ Builder
constructor
A new instance of Builder.
Constructor Details
#initialize ⇒ Builder
Returns a new instance of Builder.
141 142 143 144 145 146 147 148 149 150 151 152 153 154 |
# File 'lib/okura.rb', line 141 def initialize # group id -> [Word] @groups=[] @next_group_id=0 # surface -> id @group_ids={} @surfaces=Okura::Words::CompactStringArray::Builder.new @left_features=Features.new @right_features=Features.new @surface_ids=[] @left_ids=[] @right_ids=[] @costs=[] end |
Instance Method Details
#add(word) ⇒ Object
155 156 157 158 159 160 161 162 163 164 165 166 167 168 |
# File 'lib/okura.rb', line 155 def add word unless @group_ids.has_key? word.surface gid=add_group! word.surface wid=add_word! gid,word @group_ids[word.surface]=gid @groups[gid]=[wid] gid else gid=@group_ids[word.surface] wid=add_word! gid,word @groups[gid].push wid gid end end |