cfad47cfa3/t3compiler/tads3/test/data/dispmeth.t

4b825dc642cb6eb9a060e54bf8d69288fbee4904cfad47cfa334b206c65f22086bcc5d63e6f70944
1
#include "tads.h"
2
#include "t3.h"
3
4
main(args)
5
{
6
    t3SetSay(&sayValue);
7
8
    "Hello from main!\n";
9
    obj1.sayHello;
10
    obj2.sayHello;
11
    obj3.sayHello;
12
    obj4.sayHello;
13
14
    redItem.sdesc; "\n";
15
    redItem.ldesc; "\n";
16
    blueItem.sdesc; "\n";
17
    blueItem.ldesc; "\n";
18
    "Done!\n";
19
}
20
21
class ColorItem: object
22
  sayValue(val)
23
  {
24
    /* substitute color placeholder strings */
25
    if (dataType(val) == TypeSString)
26
      val = rexReplace('COLOR', val, colorName, ReplaceAll);
27
28
    /* display the value */
29
    tadsSay(val);
30
  }
31
  sdesc = "COLOR item"
32
  ldesc = "It's a COLOR item. "
33
;
34
35
redItem: ColorItem colorName='red';
36
blueItem: ColorItem colorName='blue';
37
38
obj1: object
39
    sayValue(val)
40
    {
41
        if (dataType(val) == TypeSString)
42
            tadsSay(val.toUpper());
43
        else
44
            tadsSay(val);
45
    }
46
47
    sayHello { "This is obj1.sayHello!\n"; }
48
;
49
50
obj2: obj1
51
    sayHello { "This is obj2.sayHello (obj2 is an obj1)\n"; }
52
;
53
54
obj3: object
55
    sayHello { "This is obj3.sayHello (obj3 has no sayValue method)\n"; }
56
;
57
58
obj4: object
59
    sayHello { "This is obj4.sayHello\n"; }
60
    
61
    sayValue(val)
62
    {
63
        if (dataType(val) == TypeSString)
64
            tadsSay(val.toLower());
65
        else
66
            tadsSay(val);
67
    }
68
;
69
70
preinit()
71
{
72
}
73
74
75