Revert "Revert "made some tests green""
This commit is contained in:
parent
a453d8d64d
commit
c6d0611112
6 changed files with 95 additions and 89 deletions
|
|
@ -1,52 +1,52 @@
|
|||
type
|
||||
TBase = object of TObject
|
||||
x, y: int
|
||||
|
||||
TSubclassKind = enum ka, kb, kc, kd, ke, kf
|
||||
TSubclass = object of TBase
|
||||
case c: TSubclassKind
|
||||
of ka, kb, kc, kd:
|
||||
a, b: int
|
||||
of ke:
|
||||
d, e, f: char
|
||||
else: nil
|
||||
n: bool
|
||||
type
|
||||
TBase = object of TObject
|
||||
x, y: int
|
||||
|
||||
TSubclassKind = enum ka, kb, kc, kd, ke, kf
|
||||
TSubclass = object of TBase
|
||||
case c: TSubclassKind
|
||||
of ka, kb, kc, kd:
|
||||
a, b: int
|
||||
of ke:
|
||||
d, e, f: char
|
||||
else: nil
|
||||
n: bool
|
||||
|
||||
type
|
||||
TMyObject = object of TObject
|
||||
case disp: range[0..4]:
|
||||
case disp: range[0..4]
|
||||
of 0: arg: char
|
||||
of 1: s: string
|
||||
else: wtf: bool
|
||||
|
||||
var
|
||||
x: TMyObject
|
||||
|
||||
var
|
||||
global: int
|
||||
|
||||
var
|
||||
s: string
|
||||
r: float = 0.0
|
||||
i: int = 500 + 400
|
||||
|
||||
case i
|
||||
of 500..999: write(stdout, "ha!\n")
|
||||
of 1000..3000, 12: write(stdout, "ganz schön groß\n")
|
||||
of 1, 2, 3: write(stdout, "1 2 oder 3\n")
|
||||
else: write(stdout, "sollte nicht passieren\n")
|
||||
|
||||
case readLine(stdin)
|
||||
of "Rumpf": write(stdout, "Hallo Meister!\n")
|
||||
of "Andreas": write(stdout, "Hallo Meister!\n")
|
||||
else: write(stdout, "Nicht mein Meister!\n")
|
||||
|
||||
global = global + 1
|
||||
write(stdout, "Hallo wie heißt du? \n")
|
||||
s = readLine(stdin)
|
||||
i = 0
|
||||
while i < len(s):
|
||||
if s[i] == 'c': write(stdout, "'c' in deinem Namen gefunden\n")
|
||||
i = i + 1
|
||||
|
||||
write(stdout, "Du heißt " & s)
|
||||
|
||||
var
|
||||
global: int
|
||||
|
||||
var
|
||||
s: string
|
||||
r: float = 0.0
|
||||
i: int = 500 + 400
|
||||
|
||||
case i
|
||||
of 500..999: write(stdout, "ha!\n")
|
||||
of 1000..3000, 12: write(stdout, "ganz schön groß\n")
|
||||
of 1, 2, 3: write(stdout, "1 2 oder 3\n")
|
||||
else: write(stdout, "sollte nicht passieren\n")
|
||||
|
||||
case readLine(stdin)
|
||||
of "Rumpf": write(stdout, "Hallo Meister!\n")
|
||||
of "Andreas": write(stdout, "Hallo Meister!\n")
|
||||
else: write(stdout, "Nicht mein Meister!\n")
|
||||
|
||||
global = global + 1
|
||||
write(stdout, "Hallo wie heißt du? \n")
|
||||
s = readLine(stdin)
|
||||
i = 0
|
||||
while i < len(s):
|
||||
if s[i] == 'c': write(stdout, "'c' in deinem Namen gefunden\n")
|
||||
i = i + 1
|
||||
|
||||
write(stdout, "Du heißt " & s)
|
||||
|
|
|
|||
|
|
@ -1,32 +1,32 @@
|
|||
# Test overloading of procs when used as function pointers
|
||||
|
||||
import strutils
|
||||
|
||||
proc parseInt(x: float): int {.noSideEffect.} = nil
|
||||
proc parseInt(x: bool): int {.noSideEffect.} = nil
|
||||
proc parseInt(x: float32): int {.noSideEffect.} = nil
|
||||
proc parseInt(x: int8): int {.noSideEffect.} = nil
|
||||
proc parseInt(x: TFile): int {.noSideEffect.} = nil
|
||||
proc parseInt(x: char): int {.noSideEffect.} = nil
|
||||
proc parseInt(x: int16): int {.noSideEffect.} = nil
|
||||
# Test overloading of procs when used as function pointers
|
||||
|
||||
import strutils
|
||||
|
||||
proc parseInt(x: float): int {.noSideEffect.} = nil
|
||||
proc parseInt(x: bool): int {.noSideEffect.} = nil
|
||||
proc parseInt(x: float32): int {.noSideEffect.} = nil
|
||||
proc parseInt(x: int8): int {.noSideEffect.} = nil
|
||||
proc parseInt(x: TFile): int {.noSideEffect.} = nil
|
||||
proc parseInt(x: char): int {.noSideEffect.} = nil
|
||||
proc parseInt(x: int16): int {.noSideEffect.} = nil
|
||||
|
||||
proc parseInt[T](x: T): int = echo x; 34
|
||||
|
||||
type
|
||||
TParseInt = proc (x: string): int {.noSideEffect.}
|
||||
|
||||
var
|
||||
q = TParseInt(parseInt)
|
||||
p: TParseInt = parseInt
|
||||
|
||||
proc takeParseInt(x: proc (y: string): int {.noSideEffect.}): int =
|
||||
result = x("123")
|
||||
|
||||
echo "Give a list of numbers (separated by spaces): "
|
||||
var x = stdin.readline.split.map(parseInt).max
|
||||
echo x, " is the maximum!"
|
||||
echo "another number: ", takeParseInt(parseInt)
|
||||
|
||||
|
||||
type
|
||||
TParseInt = proc (x: string): int {.noSideEffect.}
|
||||
|
||||
var
|
||||
q = TParseInt(parseInt)
|
||||
p: TParseInt = parseInt
|
||||
|
||||
proc takeParseInt(x: proc (y: string): int {.noSideEffect.}): int =
|
||||
result = x("123")
|
||||
|
||||
echo "Give a list of numbers (separated by spaces): "
|
||||
var x = stdin.readline.split.map(parseInt).max
|
||||
echo x, " is the maximum!"
|
||||
echo "another number: ", takeParseInt(parseInt)
|
||||
|
||||
|
||||
type
|
||||
TFoo[a,b] = object
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue