Switch to nanoc

This commit is contained in:
flaviut 2014-05-31 15:40:34 -04:00
commit 6bfe583522
24 changed files with 307 additions and 74 deletions

View file

@ -1,48 +0,0 @@
# Case Statements
Nimrod also supports case statements, which are like switches in other languages. There are several things to note here:
* You can use strings in the switch statement
* Sets and ranges of ordinal types are also usable
* case statements, like most things, are actually expressions
* It is required that every possible case be covered
``` Nimrod
case "charlie"
of "alfa":
echo "A"
of "bravo":
echo "B"
of "charlie":
echo "C"
else:
echo "Unrecognized letter"
case 'h':
of 'a', 'e', 'i', 'o', 'u':
echo "Vowel"
of '\127'..'\255':
echo "Maybe, but I only know English"
else:
echo "Consonant"
proc positiveOrNegative(num: int): string =
result = case num
of low(int)..-1:
"negative"
of 0:
"zero"
of 1..high(int):
"positive"
else:
"impossible"
echo positiveOrNegative(-1)
```
```
$ nimrod c -r ./case_stmts.nim
C
Consonant
negative
```