Module: Binary
- Defined in:
- lib/binary.rb,
lib/binary/version.rb
Constant Summary collapse
- VERSION =
"1.4.1"
Class Method Summary collapse
- .binary(i = nil) ⇒ Object
- .bits_count(num) ⇒ Object
- .method_missing(method, *args, &block) ⇒ Object
- .number(i = nil) ⇒ Object
- .ones_count(num) ⇒ Object
- .prime(num) ⇒ Object
- .random(num = 1000) ⇒ Object
- .zeros_count(num) ⇒ Object
Class Method Details
.binary(i = nil) ⇒ Object
8 9 10 11 12 13 |
# File 'lib/binary.rb', line 8 def binary(i = nil) return i.map { |e| e.is_a?(Integer) ? e.abs.to_s(2) : nil } if i.is_a?(Array) i = i.abs if i&.to_i < 0 return i.to_s(2) if i.is_a?(Integer) end |
.bits_count(num) ⇒ Object
20 21 22 |
# File 'lib/binary.rb', line 20 def bits_count(num) binary(num).length end |
.method_missing(method, *args, &block) ⇒ Object
40 41 42 43 44 45 |
# File 'lib/binary.rb', line 40 def method_missing(method, *args, &block) puts "No method found: #{method}" puts 'Methods available are:' puts (Binary.methods - Object.methods - [:method_missing]) end |
.number(i = nil) ⇒ Object
15 16 17 18 |
# File 'lib/binary.rb', line 15 def number(i = nil) return i.map { |e| e.is_a?(String) ? e.to_i(2) : nil } if i.is_a?(Array) return i.to_i(2) if i.is_a?(String) end |
.ones_count(num) ⇒ Object
28 29 30 |
# File 'lib/binary.rb', line 28 def ones_count(num) binary(num).count("1") end |
.prime(num) ⇒ Object
32 33 34 |
# File 'lib/binary.rb', line 32 def prime(num) Prime.each(num).map { |prime| binary(prime) } end |
.random(num = 1000) ⇒ Object
36 37 38 |
# File 'lib/binary.rb', line 36 def random(num = 1000) binary rand(1..num) end |
.zeros_count(num) ⇒ Object
24 25 26 |
# File 'lib/binary.rb', line 24 def zeros_count(num) binary(num).count("0") end |