Class: Kotodama::Type
- Inherits:
-
Object
- Object
- Kotodama::Type
- Defined in:
- lib/type.rb
Instance Attribute Summary collapse
-
#language ⇒ Object
readonly
Returns the value of attribute language.
-
#symbols ⇒ Object
readonly
Returns the value of attribute symbols.
-
#weights ⇒ Object
readonly
Returns the value of attribute weights.
Instance Method Summary collapse
- #add(symbol, weight) ⇒ Object
- #generate ⇒ Object
-
#initialize(language) ⇒ Type
constructor
A new instance of Type.
- #member?(symbol) ⇒ Boolean
Constructor Details
#initialize(language) ⇒ Type
Returns a new instance of Type.
5 6 7 8 9 |
# File 'lib/type.rb', line 5 def initialize language @language = language @symbols = [] @weights = [] end |
Instance Attribute Details
#language ⇒ Object (readonly)
Returns the value of attribute language.
3 4 5 |
# File 'lib/type.rb', line 3 def language @language end |
#symbols ⇒ Object (readonly)
Returns the value of attribute symbols.
3 4 5 |
# File 'lib/type.rb', line 3 def symbols @symbols end |
#weights ⇒ Object (readonly)
Returns the value of attribute weights.
3 4 5 |
# File 'lib/type.rb', line 3 def weights @weights end |
Instance Method Details
#add(symbol, weight) ⇒ Object
11 12 13 14 |
# File 'lib/type.rb', line 11 def add symbol, weight @symbols << symbol @weights << weight end |
#generate ⇒ Object
20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/type.rb', line 20 def generate temp_weights = [] @symbols.length.times do |i| if @weights[i] temp_weights << @weights[i] elsif @language.zipf[@symbols[i]] temp_weights << @language.zipf[@symbols[i]] elsif @language.['$symbol_weight'] temp_weights << @language.['$symbol_weight'] else temp_weights << 1 end end @symbols.random temp_weights end |
#member?(symbol) ⇒ Boolean
16 17 18 |
# File 'lib/type.rb', line 16 def member? symbol @symbols.member? symbol end |