22 lines
486 B
Plaintext
22 lines
486 B
Plaintext
class Singleton(name) {
|
|
static instance;
|
|
|
|
method new(name) {
|
|
instance := Singleton.bless(Hash(:name => name));
|
|
}
|
|
method new {
|
|
Singleton.new(nil);
|
|
}
|
|
}
|
|
|
|
var s1 = Singleton('foo');
|
|
say s1.name; #=> 'foo'
|
|
say s1.object_id; #=> '30424504'
|
|
|
|
var s2 = Singleton();
|
|
say s2.name; #=> 'foo'
|
|
say s2.object_id; #=> '30424504'
|
|
|
|
s2.name = 'bar'; # change name in s2
|
|
say s1.name; #=> 'bar'
|