Class: KnapsackSolver::OutputPrinter

Inherits:
Object
  • Object
show all
Defined in:
lib/knapsack_solver/output_printer.rb

Overview

This class provides support for printing results and statistics of a dataset solving either to stdout or to a text file.

Instance Method Summary collapse

Constructor Details

#initialize(dataset_filenames, suffix, results) ⇒ OutputPrinter

Initializes printer for output log (results, statistics).

Parameters:

  • dataset_filenames (Array<String>)

    dataset filenames

  • suffix (String)

    suffix of the created files

  • results (Hash)

    results of solving or statistics to print



10
11
12
13
14
# File 'lib/knapsack_solver/output_printer.rb', line 10

def initialize(dataset_filenames, suffix, results)
  @dataset_basenames = file_basenames(dataset_filenames)
  @suffix = suffix
  @results = results
end

Instance Method Details

Prints results or statistics to stdout or to files in output directory.

Parameters:

  • out_dir (String) (defaults to: nil)

    path to output directory



19
20
21
22
23
24
25
# File 'lib/knapsack_solver/output_printer.rb', line 19

def print(out_dir = nil)
  @results.each_value.with_index do |results, index|
    results.each do |method, res|
      print_solving_method_results(method, res, out_dir, @dataset_basenames[index])
    end
  end
end