Module: Binary

Defined in:
lib/binary.rb,
lib/binary/version.rb

Constant Summary collapse

VERSION =
"1.4.1"

Class Method Summary collapse

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