RosettaCodeData/Task/Null-object/M2000-Interpreter/null-object-3.m2000

30 lines
664 B
Plaintext

class something {
}
class alfa as something {
x=10, y=20
}
a->alfa()
Print a is type alfa = true
Print a is type something = true
a->0&
Print a is type null = true
\\ beta is a named object, is static
group beta {
type: something, alfa
x=10, y=20
}
Print beta is type alfa = true
Print beta is type something = true
\\ now a is a pointer as a weak reference to beta
a->beta
print a is type alfa = true
print a is type something = true
a=pointer() ' same as a->0&
Print a is type null = true
\\ now a is a pointer of a copy of beta
a->(beta)
print a is type alfa = true
print a is type something = true
a=pointer() ' same as a->0&
Print a is type null = true