Class: ChRad::OutputManager
- Defined in:
- lib/chrad/io_manager.rb
Instance Attribute Summary
Attributes inherited from IOManager
#base, #digits, #mode, #separator, #stream
Instance Method Summary collapse
-
#initialize ⇒ OutputManager
constructor
A new instance of OutputManager.
- #name ⇒ Object
- #number_to_string(number) ⇒ Object
- #stream_puts(number) ⇒ Object
Methods inherited from IOManager
#alphabet, #alphabet=, #automagic_find_alphabet, #setup_base_digits!, #value_to_digit
Constructor Details
#initialize ⇒ OutputManager
Returns a new instance of OutputManager.
105 106 107 108 |
# File 'lib/chrad/io_manager.rb', line 105 def initialize @base = DEFAULT_OUTPUT_BASE @stream = $stdout end |
Instance Method Details
#name ⇒ Object
110 111 112 |
# File 'lib/chrad/io_manager.rb', line 110 def name 'output' end |
#number_to_string(number) ⇒ Object
114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 |
# File 'lib/chrad/io_manager.rb', line 114 def number_to_string(number) list = Algorithms.number_to_base(number, base) list.reverse! case mode when :alphabet list.map do |value| value_to_digit(value) end.join('') when :list list.join(separator) else raise Error, "Invalid mode #{mode.inspect}" end end |
#stream_puts(number) ⇒ Object
132 133 134 |
# File 'lib/chrad/io_manager.rb', line 132 def stream_puts(number) stream.puts number_to_string(number) end |