public pub2;
proc main()
{
// Create a couple of new publics
var pub0 = new Public("pub0");
var pub1 = new Public("pub1");
// Create a new class using those, plus an existing public
var cls = new Class("cls", {pub0, 123, pub1, "hello", pub2, 3.14});
"New class:\n";
forall (cls.(pub)) {
"", pub, ": ", cls.(pub), '\n';
}
"\n";
// Note that classes created with "new Class" are *not* readonly
cls.(pub0) = 456;
// Create an instance of that class
var obj = new cls();
"New instance:\n";
forall (obj.(pub)) {
"", pub, ": ", obj.(pub), '\n';
}
}