← nimrepo

options,ifelsewhile,block

0ef810717374d3edf322c9db7dc4e8761f2447c4 · ovidiucs · Feb 5, 2019 20:35

+48 · 3 files changed

  • blockstatement.nim +12 −0
  • ifelsewhile.nim +17 −0
  • optionsv.nim +19 −0
diff --git a/blockstatement.nim b/blockstatement.nim
new file mode 100644
index 0000000..dbf1528
--- /dev/null
+++ b/blockstatement.nim
@@ -0,0 +1,12 @@
+# Copyright 2019.
+echo "I am outside"
+block busyloops:
+  echo " I am in the busyloops block"
+  while true:
+    echo "First while loop"
+    while true:
+      echo "Second while loop"
+      break busyloops
+    echo "In the first while"
+  echo "Outside second while"
+echo "Outside"
diff --git a/ifelsewhile.nim b/ifelsewhile.nim
new file mode 100644
index 0000000..6efe945
--- /dev/null
+++ b/ifelsewhile.nim
@@ -0,0 +1,17 @@
+# Copyright 2019.
+import strutils, random
+
+randomize()
+let answer = rand(9) + 1
+
+while true:
+  echo "I have a number from 1 to 10, what is it? "
+  let guess = parseInt(stdin.readLine)
+
+  if guess < answer:
+    echo "Too low, try  again"
+  elif guess > answer:
+    echo "Too high, try again"
+  else:
+    echo "Correct!"
+    break
diff --git a/optionsv.nim b/optionsv.nim
new file mode 100644
index 0000000..d4098b2
--- /dev/null
+++ b/optionsv.nim
@@ -0,0 +1,19 @@
+# Copyright 2019.
+import options, strformat
+
+var s: Option[float]
+
+s = some(123.0)
+echo s
+echo fmt"Is s None ? {s.isNone()}, is a Some {s.isSome()}"
+
+s = some[float](1)
+echo s
+echo fmt"Is s None ? {s.isNone()}, is a Some {s.isSome()}"
+
+s = none(float)
+echo s
+echo fmt"Is s None ? {s.isNone()}, is a Some {s.isSome()}"
+s = none[float]()
+echo s
+echo fmt"Is s None ? {s.isNone()}, is a Some {s.isSome()}"