Class: Integer

Inherits:
Object show all
Defined in:
lib/open_classes/integer/each_digit.rb,
lib/open_classes/integer/palindromic_prime.rb,
lib/open_classes/integer/reverse_each_digit.rb,
lib/open_classes/integer/each_digit_with_index.rb

Instance Method Summary collapse

Instance Method Details

#each_digitObject

provide iterator for number’s each digit

Example

ret=[];12345.each_digit { |v|ret << v+1 };print ret # => [2,3,4,5,6]


10
11
12
# File 'lib/open_classes/integer/each_digit.rb', line 10

def each_digit
  abs.to_s.split('').map { |v|v.to_i }.each { |v|yield(v) }
end

#each_digit_with_indexObject

provide iterator for number’s each digit with index

Example

ret=[];12_345.each_digit_with_index { |v, i|ret << v + i };print ret # => [1, 3, 5, 7, 9]


10
11
12
# File 'lib/open_classes/integer/each_digit_with_index.rb', line 10

def each_digit_with_index
  abs.to_s.split('').map { |v|v.to_i }.each_with_index { |v, i|yield(v, i) }
end

#palindromic_prime?Boolean

Returns true if value is palindromic prime, false for a composite.

Example

0.palindromic_prime? # => false
1.palindromic_prime? # => false
2.palindromic_prime? # => true
11.palindromic_prime? # => true
757.palindromic_prime? # => true
758.palindromic_prime? # => false

Returns:

  • (Boolean)


16
17
18
# File 'lib/open_classes/integer/palindromic_prime.rb', line 16

def palindromic_prime?
  prime? && to_s == to_s.reverse
end

#reverse_each_digitObject

provide reverse iterator for number’s each digit

Example

ret=[];12345.reverse_each_digit { |v|ret << v+1 };print ret # => [6, 5, 4, 3, 2]


10
11
12
# File 'lib/open_classes/integer/reverse_each_digit.rb', line 10

def reverse_each_digit
  abs.to_s.split('').reverse.map { |v|v.to_i }.each { |v|yield(v) }
end