Class: ChRad::OutputManager
Instance Attribute Summary
Attributes inherited from IOManager
#base, #digits, #mode, #separator, #stream
Instance Method Summary
collapse
Methods inherited from IOManager
#alphabet, #alphabet=, #automagic_find_alphabet, #setup_base_digits!, #value_to_digit
Constructor Details
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
|