From: Neil Smith <neil.git@njae.me.uk>
Date: Thu, 16 Feb 2017 17:04:53 +0000 (+0000)
Subject: Improved utility files
X-Git-Url: https://git.njae.me.uk/?a=commitdiff_plain;h=19cdd89260d84da6258049389ee7b0d43f02a749;p=project-euler.git

Improved utility files
---

diff --git a/array-numbers.rb b/array-numbers.rb
new file mode 100644
index 0000000..26538d6
--- /dev/null
+++ b/array-numbers.rb
@@ -0,0 +1,21 @@
+# Some utility extensions for helping manipulate numbers
+# and lists of digits
+
+class Array
+  # Convert a list of digits into a number
+  def to_i
+    self.map {|d| d.to_s}.join.to_i
+  end
+  
+  # Convert a two-item list of nubmers into a rational
+  def to_r
+    Rational(self[0].to_i, self[1].to_i)
+  end
+end
+
+class Integer
+  # Split a number into a list of digits
+  def to_digits
+    self.to_s.split('').map {|d| d.to_i}
+  end
+end 
diff --git a/primes.rb b/primes.rb
index 23fd447..7e2cfaa 100644
--- a/primes.rb
+++ b/primes.rb
@@ -101,3 +101,11 @@ class Primes
 
 end
 
+
+class Integer
+  @@primes = Primes.instance
+  
+  def prime?
+    @@primes.include? self
+  end
+end