summary refs log blame commit diff stats
path: root/tests/objects/tobjects.nim
blob: 06fa155838be2e08f2d1b1e67c604e77dd0052e1 (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11
12
13












                                             


                               
                          





                     




























                                                                 
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]
      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)