1#include <tads.h>
2
3myObj: object
4    p1 = 'hello'
5
6    propertyset '*DobjTake'
7    {
8        p2 = 'foo'
9        p3 = 'bar'
10    }
11
12    propertyset 'verDobj*' (actor, *)
13    {
14        Take { "verDobjTake - actor=<<actor>>\n"; }
15        Drop() { "verDobjDrop - actor=<<actor>>\n"; }
16        PutIn(iobj) { "verDobjPutIn - actor=<<actor>>, iobj=<<iobj>>\n"; }
17        PutOn(x, y) { "verDobjPutOn - actor=<<actor>>, x=<<x>>, y=<<y>>\n"; }
18    }
19
20    propertyset 'verIobj*' (a, *, b)
21    {
22        Take { "verIobjTake - a=<<a>>, b=<<b>>\n"; }
23        Drop() { "verIobjDrop - a=<<a>>, b=<<b>>\n"; }
24        PutIn(iobj) { "verIobjPutIn - a=<<a>>, iobj=<<iobj>>, b=<<b>>\n"; }
25        PutOn(x, y) { "verIobjPutOn - a=<<a>>, x=<<x>>, y=<<y>>, b=<<b>>\n"; }
26    }
27
28    propertyset 'dobj*' (*, actor)
29    {
30        Take { "dobjTake - actor=<<actor>>\n"; }
31        Drop() { "dobjDrop - actor=<<actor>>\n"; }
32        PutIn(iobj) { "dobjPutIn - iobj=<<iobj>>, actor=<<actor>>\n"; }
33        PutOn(dobj, iobj) { "dobjPutOn - dobj=<<dobj>>, iobj=<<iobj>>,
34                             actor=<<actor>>\n"; }
35    }
36
37    p4 = 'goodbye'
38;
39
40main(args)
41{
42    "myObj.p1 = <<myObj.p1>>\n";
43    "myObj.p2DobjTake = <<myObj.p2DobjTake>>\n";
44    "myObj.p3DobjTake = <<myObj.p3DobjTake>>\n";
45    "myObj.p4 = <<myObj.p4>>\n";
46
47    myObj.verDobjTake(123);
48    myObj.verDobjDrop(987);
49    myObj.verDobjPutIn(45, 67);
50    myObj.verDobjPutOn(78, 89, 91);
51
52    myObj.verIobjTake(1, 2);
53    myObj.verIobjDrop(3, 4);
54    myObj.verIobjPutIn(5, 6, 7);
55    myObj.verIobjPutOn(8, 9, 10, 11);
56
57    myObj.dobjTake(111);
58    myObj.dobjDrop(222);
59    myObj.dobjPutIn(333, 444);
60    myObj.dobjPutOn(555, 666, 777);
61}
62