Class: Textpow::ScoreManager
- Inherits:
-
Object
- Object
- Textpow::ScoreManager
- Defined in:
- lib/ultra_pow_list/vendor/ruby1.8/textpow/textpow/score_manager.rb,
lib/ultra_pow_list/vendor/ruby1.9/textpow/textpow/score_manager.rb
Constant Summary collapse
- POINT_DEPTH =
4
- NESTING_DEPTH =
40
- START_VALUE =
2 ** ( POINT_DEPTH * NESTING_DEPTH )
- BASE =
2 ** POINT_DEPTH
Instance Method Summary collapse
-
#initialize ⇒ ScoreManager
constructor
A new instance of ScoreManager.
- #score(search_scope, reference_scope) ⇒ Object
Constructor Details
#initialize ⇒ ScoreManager
Returns a new instance of ScoreManager.
8 9 10 |
# File 'lib/ultra_pow_list/vendor/ruby1.8/textpow/textpow/score_manager.rb', line 8 def initialize @scores = {} end |
Instance Method Details
#score(search_scope, reference_scope) ⇒ Object
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/ultra_pow_list/vendor/ruby1.8/textpow/textpow/score_manager.rb', line 12 def score search_scope, reference_scope max = 0 search_scope.split( ',' ).each do |scope| arrays = scope.split(/\B-/) if arrays.size == 1 max = [max, score_term( arrays[0], reference_scope )].max elsif arrays.size > 1 excluded = false arrays[1..-1].each do |a| if score_term( arrays[1], reference_scope ) > 0 excluded = true break end end max = [max, score_term( arrays[0], reference_scope )].max unless excluded else raise ParsingError, "Error in scope string: '#{search_scope}' #{arrays.size} is not a valid number of operands" if arrays.size < 1 end end max end |