Class: DigitsSolver::ProblemStatement

Inherits:
Object
  • Object
show all
Defined in:
lib/digits_solver/problem_statement.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(target_number_or_problem_statement, *draw) ⇒ ProblemStatement

noinspection RubyParameterNamingConvention



12
13
14
15
16
17
18
19
20
# File 'lib/digits_solver/problem_statement.rb', line 12

def initialize(target_number_or_problem_statement, *draw)
  @target_number, @draw = if target_number_or_problem_statement.is_a? DigitsSolver::ProblemStatement
                            [target_number_or_problem_statement.target_number, target_number_or_problem_statement.draw]
                          else
                            [target_number_or_problem_statement, draw]
                          end
  DigitsSolver.logger.info "The target is #{target_number}"
  DigitsSolver.logger.info "The draw is #{draw.inspect}"
end

Instance Attribute Details

#target_numberObject (readonly)

Returns the value of attribute target_number.



5
6
7
# File 'lib/digits_solver/problem_statement.rb', line 5

def target_number
  @target_number
end

Instance Method Details

#drawObject



7
8
9
# File 'lib/digits_solver/problem_statement.rb', line 7

def draw
  @draw.dup
end

#max_operations_numberObject



22
23
24
# File 'lib/digits_solver/problem_statement.rb', line 22

def max_operations_number
  @max_operations_number ||= @draw.size - 1
end