18 lines
528 B
Plaintext
18 lines
528 B
Plaintext
type Singleton
|
|
model
|
|
text greeting
|
|
fun speak = void by block do writeLine(me.greeting + " I'm a singleton") end
|
|
end
|
|
Singleton instance
|
|
fun getInstance = Singleton by block
|
|
if instance == null do instance = Singleton() end
|
|
return instance
|
|
end
|
|
type SomeOtherType
|
|
Singleton s1 = Singleton.getInstance()
|
|
s1.greeting = "Hello"
|
|
Singleton s2 = Singleton.getInstance()
|
|
s2.greeting.append(", World!")
|
|
writeLine(s1 + " and " + s2 + " are the same object: " + (s1 == s2) + ", s2: " + s2.greeting)
|
|
s1.speak() # call instance method
|