Mark McGranaghan 8d31ec147c move to vendor
2012-11-17 08:21:42 -08:00

93 lines
2.0 KiB
Nim

import re
for x in lines("myfile.txt"):
if x =~ re"(\w+)=(.*)":
echo "Key: ", matches[0],
" Value: ", matches[1]
Echo("What's your name? ")
var name: string = readLine(stdin)
if name == "":
echo("Poor soul, you lost your name?")
elif name == "name":
echo("Very funny, your name is name.")
else:
Echo("Hi, ", name, "!")
var name = readLine(stdin)
case name
of "":
echo("Poor soul, you lost your name?")
of "name":
echo("Very funny, your name is name.")
else:
Echo("Hi, ", name, "!")
from strutils import parseInt
Echo("A number please: ")
var n = parseInt(readLine(stdin))
case n
of 0..2, 4..7: Echo("The number is in the set: {0, 1, 2, 4, 5, 6, 7}")
of 3, 8: Echo("The number is 3 or 8")
Echo("Counting to 10: ")
var i = 1
while i <= 10:
Echo($i)
inc(i)
proc yes(question: string): bool =
Echo(question, " (y/n)")
while true:
case readLine(stdin)
of "y", "Y", "yes", "Yes": return true
of "n", "N", "no", "No": return false
else: Echo("Please be clear: yes or no")
proc even(n: int): bool
proc odd(n: int): bool =
if n == 1: return true
else: return even(n-1)
iterator countup(a, b: int): int =
var res = a
while res <= b:
yield res
inc(res)
type
TPerson = object of TObject
name*: string # the * means that `name` is accessible from other modules
age: int # no * means that the field is hidden from other modules
TStudent = object of TPerson # TStudent inherits from TPerson
id: int # with an id field
var
student: TStudent
person: TPerson
assert(student is TStudent)
echo({'a', 'b', 'c'}.card)
stdout.writeln("Hallo")
var
f: TFile
if open(f, "numbers.txt"):
try:
var a = readLine(f)
var b = readLine(f)
echo("sum: " & $(parseInt(a) + parseInt(b)))
except EOverflow:
echo("overflow!")
except EInvalidValue:
echo("could not convert string to integer")
except EIO:
echo("IO error!")
except:
echo("Unknown exception!")
# reraise the unknown exception:
raise
finally:
close(f)