A Symbol object to mimic JavaScript's Symbol type.
Symbol(name: string?): Symbol
Create a new symbol object. Symbols use the newproxy
function under the hood to create an opaque, unique sentinel value. The optional string value will be included in value returned by calling tostring
on the resulting symbol.
local Foo = Symbol("Foo")
print(tostring(Foo)) -- prints: 'Symbol("Foo")'
Symbol.for_(name: string)
Returns globally-shared symbol for the provided name, creating it in a global registry if it has not yet been accessed. Symbol.for_
uses a global registry for the lifetime of the lua execution.
Calling Symbol.new
returns an object with type Symbol
.
Licensed under the MIT license (LICENSE.txt or http://opensource.org/licenses/MIT).