def factor(n) return 1 if n < 2 2.upto(n - 1) do |k| return k if 0 == n % k end 1 end def prime?(n) 1 == factor(n) end if __FILE__ == $0 && ARGV.size > 0 open(ARGV.first) do |io| io.each_line do |line| n = line.strip.to_i puts "#{n} is a prime number" if prime?(n) end end end