25 lines
423 B
Plaintext
25 lines
423 B
Plaintext
fn Singleton()
|
|
if this.self then return this.self cls
|
|
var new: {}
|
|
iter k,v as this._props do
|
|
new[k]:v
|
|
cls
|
|
this.self:new
|
|
return new
|
|
cls
|
|
Singleton._props: {
|
|
name: "Singleton",
|
|
fn setName(self,new)
|
|
self.name:new
|
|
cls,
|
|
}
|
|
|
|
var MySingleton: Singleton()
|
|
log(MySingleton == Singleton()) --true
|
|
log(MySingleton.name) --Singleton
|
|
|
|
var NewSingleton: Singleton()
|
|
NewSingleton>>setName("Test")
|
|
|
|
log(MySingleton.name) --Test
|