Module: Binary
- Defined in:
- lib/binary.rb,
lib/binary/version.rb
Constant Summary collapse
- VERSION =
"1.3.0"
Class Method Summary collapse
- .binary(input = nil) ⇒ Object
- .bits(num = nil) ⇒ Object
- .method_missing(method, *args, &block) ⇒ Object
- .number(input = nil) ⇒ Object
- .ones(num = nil) ⇒ Object
- .prime(num = nil) ⇒ Object
- .zeros(num = nil) ⇒ Object
Class Method Details
.binary(input = nil) ⇒ Object
7 8 9 10 11 12 13 14 15 16 |
# File 'lib/binary.rb', line 7 def self.binary(input=nil) if input.class == Array input.map { |num| num.class == Integer ? num.abs.to_s(2) : nil } elsif input.class == Integer input = input.abs if input < 0 input.to_s(2) else nil end end |
.bits(num = nil) ⇒ Object
28 29 30 31 32 |
# File 'lib/binary.rb', line 28 def self.bits num=nil return nil unless num binary = binary(num) binary.length end |
.method_missing(method, *args, &block) ⇒ Object
55 56 57 58 59 |
# File 'lib/binary.rb', line 55 def self.method_missing(method, *args, &block) puts "There's no method #{method} found in Binary module." puts 'Methods available are:' puts (Binary.methods - Object.methods - [:method_missing]) end |
.number(input = nil) ⇒ Object
18 19 20 21 22 23 24 25 26 |
# File 'lib/binary.rb', line 18 def self.number(input=nil) if input.class == Array input.map { |num| num.class == String ? num.to_i(2) : nil } elsif input.class == String input.to_i(2) else nil end end |
.ones(num = nil) ⇒ Object
40 41 42 43 44 |
# File 'lib/binary.rb', line 40 def self.ones num=nil return nil unless num binary = binary(num) binary.count("1") end |
.prime(num = nil) ⇒ Object
46 47 48 49 50 51 52 53 |
# File 'lib/binary.rb', line 46 def self.prime num=nil return nil unless num binaries = [] Prime.each(num) do |prime| binaries << binary(prime) end binaries end |
.zeros(num = nil) ⇒ Object
34 35 36 37 38 |
# File 'lib/binary.rb', line 34 def self.zeros num=nil return nil unless num binary = binary(num) binary.count("0") end |