Module: Binary
- Defined in:
- lib/binary.rb,
lib/binary/version.rb
Constant Summary collapse
- VERSION =
"1.3.1"
Class Method Summary collapse
- .array?(i) ⇒ Boolean
- .binary(i = nil) ⇒ Object
- .bits(num = nil) ⇒ Object
- .method_missing(method, *args, &block) ⇒ Object
- .number(i = nil) ⇒ Object
- .ones(num = nil) ⇒ Object
- .prime(num = nil) ⇒ Object
- .zeros(num = nil) ⇒ Object
Class Method Details
.array?(i) ⇒ Boolean
20 21 22 |
# File 'lib/binary.rb', line 20 def self.array?(i) i.class == Array end |
.binary(i = nil) ⇒ Object
6 7 8 9 10 11 12 |
# File 'lib/binary.rb', line 6 def self.binary(i=nil) return nil if block_given? return i.map { |n| n.class == Integer ? n.abs.to_s(2) : nil } if array? i i = i.abs if i.to_i < 0 return i.to_s(2) if i.class == Integer nil end |
.bits(num = nil) ⇒ Object
24 25 26 27 |
# File 'lib/binary.rb', line 24 def self.bits num=nil return nil unless num binary(num).length end |
.method_missing(method, *args, &block) ⇒ Object
45 46 47 48 49 |
# File 'lib/binary.rb', line 45 def self.method_missing(method, *args, &block) puts "No method was found with the name #{method}." puts 'Methods available are:' puts (Binary.methods - Object.methods - [:method_missing]) end |
.number(i = nil) ⇒ Object
14 15 16 17 18 |
# File 'lib/binary.rb', line 14 def self.number(i=nil) return i.map { |n| n.class == String ? n.to_i(2) : nil } if array? i return i.to_i(2) if i.class == String nil end |
.ones(num = nil) ⇒ Object
34 35 36 37 |
# File 'lib/binary.rb', line 34 def self.ones num=nil return nil unless num binary(num).count("1") end |
.prime(num = nil) ⇒ Object
39 40 41 42 43 |
# File 'lib/binary.rb', line 39 def self.prime num=nil return nil unless num binaries = [] binaries = Prime.each(num) { |prime| binaries << binary(prime) } end |
.zeros(num = nil) ⇒ Object
29 30 31 32 |
# File 'lib/binary.rb', line 29 def self.zeros num=nil return nil unless num binary(num).count("0") end |