Class: SevenSegment
- Inherits:
-
Object
- Object
- SevenSegment
- Defined in:
- lib/seven_segment.rb
Class Method Summary collapse
- .to_numbers(segment) ⇒ Object (also: decode)
- .to_segment(number) ⇒ Object (also: encode)
Class Method Details
.to_numbers(segment) ⇒ Object Also known as: decode
17 18 19 20 21 |
# File 'lib/seven_segment.rb', line 17 def self.to_numbers(segment) lines = segment.split(/\n/).map{|line| line.scan(/.../)} number = lines.transpose.map{|n| @keys.key(n.join)}.join.to_f number % 1 == 0 ? number.to_i : number end |
.to_segment(number) ⇒ Object Also known as: encode
23 24 25 26 27 |
# File 'lib/seven_segment.rb', line 23 def self.to_segment(number) raise ArgumentError,"Characters not supported" if (number.to_s.scan(/[A-Z]/).any? || number.to_s.scan(/[a-z]/).any?) segment = number.to_s.chars.map { |n| @keys[n].scan(/.../) } segment.transpose.map { |s| s.join }.join("\n") end |