about summary refs log tree commit diff
path: root/assessments/semiprimes/server/lib/extras.ex
diff options
context:
space:
mode:
authorWilliam Carroll <wpcarro@gmail.com>2020-12-11T22·42+0000
committerWilliam Carroll <wpcarro@gmail.com>2020-12-11T22·42+0000
commit6af5e4b82e9d2f025ad388f82495865a195c5218 (patch)
tree4af5a829b1d969570652889355d5046551177918 /assessments/semiprimes/server/lib/extras.ex
parent6ff814a6d31126dbb61ae720c0eb4d0e7058bb00 (diff)
Define Extras module
I'll use as the host for utility functions needed to extend the stdlib.
Diffstat (limited to 'assessments/semiprimes/server/lib/extras.ex')
-rw-r--r--assessments/semiprimes/server/lib/extras.ex18
1 files changed, 18 insertions, 0 deletions
diff --git a/assessments/semiprimes/server/lib/extras.ex b/assessments/semiprimes/server/lib/extras.ex
new file mode 100644
index 000000000000..4d2a938fcf58
--- /dev/null
+++ b/assessments/semiprimes/server/lib/extras.ex
@@ -0,0 +1,18 @@
+defmodule Extras do
+  @doc """
+  Return an ascending range starting at `a` and ending at `b` (exclusive).
+
+  ## Examples
+
+      iex> Extras.range(2, 5)
+      [2, 3, 4]
+
+  """
+  def range(a, b) do
+    if b <= a do
+      []
+    else
+      [a] ++ range(a + 1, b)
+    end
+  end
+end