← nimrepo

newfiles

188b1c611b31304845be36874c8ecc09a4b97e62 · ovidiucs · Feb 11, 2019 11:52

+19 · 3 files changed

  • .gitignore +1 −0
  • generics1.nim +12 −0
  • nimisms.nim +6 −0
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..0ff3047
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+etigerlist.txt
diff --git a/generics1.nim b/generics1.nim
new file mode 100644
index 0000000..25daa2e
--- /dev/null
+++ b/generics1.nim
@@ -0,0 +1,12 @@
+# Generics are Nim's means to parametrize procs
+# Type safe containers. 
+
+proc `+`(a,b: string): string =
+    a & b
+
+proc `*`[T](a: T, b: int): T =
+    result = ""
+    for i in 0 .. b-1:
+        result = result + a
+
+echo("a" * 10)
\ No newline at end of file
diff --git a/nimisms.nim b/nimisms.nim
index dd9373a..dae0346 100644
--- a/nimisms.nim
+++ b/nimisms.nim
@@ -10,3 +10,9 @@ var a {.noInit.}: array[0 .. 1023, char]
 
 const size = 6
 type A = range[0 .. (size-1)]
+
+echo "Union ... ", {'a' .. 'd'} + {'e' .. 'h'} 
+echo "Intersection ... ", {'a' .. 'd'} * {'c' .. 'z'}
+echo "Difference ... ", {'a' .. 'h'}
+echo "Equal: ", {'a' .. 'c'} == {'a' .. 'c'}
+echo "Subset or Equal: ", {'a' .. 'c'} <= {'a' .. 'v'}