class Primes
reimann.rb
Attributes
num[R]
prime[RW]
Public Class Methods
new(num)
click to toggle source
# File lib/reimann_foo.rb, line 18 def initialize(num) @primes_lst = [] @num_lst = [] self.num = num self.prime = false end
Public Instance Methods
divide_for_primes()
click to toggle source
# File lib/reimann_foo.rb, line 25 def divide_for_primes (2...num).each do |i| if num % i == 0 @primes_lst << i end end @primes_lst end
is_prime()
click to toggle source
# File lib/reimann_foo.rb, line 59 def is_prime @primes_lst.empty? ? self.prime = true : prime @primes_lst.empty? ? "prime." : "not prime.\nDividers are #{@primes_lst}." end
num=(num)
click to toggle source
# File lib/reimann_foo.rb, line 9 def num=(num) if num == 0 raise "integers only" else puts num.to_i end @num = num end
remove_evens()
click to toggle source
# File lib/reimann_foo.rb, line 34 def remove_evens if num >= 2 @primes_lst << 2 end (2..num).each do |i| if i % 2 != 0 #if odd loop @primes_lst << i end end @primes_lst end
remove_odds()
click to toggle source
# File lib/reimann_foo.rb, line 46 def remove_odds @num_lst = @primes_lst.reverse @num_lst.each do |i| @primes_lst.each do |j| if i % j == 0 && i != j @primes_lst.delete(i) end end end puts "#{num} = #{@primes_lst.size} primes. --> #{@primes_lst}" @primes_lst end
write()
click to toggle source
# File lib/reimann_foo.rb, line 64 def write file_new = File.open('primes.txt', 'a+') file_new.write("#{num}") unless prime file_new.puts(" is not prime") file_new.puts("#{@primes_lst}") else file_new.write(" is prime\n") file_new.close end end