Selectors
Selectors are identifiers for properties and methods of classes and instances. Each property and method has a selector index, which points to it's name in vocab.997.

Normally, when accessing selectors, such as chaging or reading their value, you would just put it's name in your code. This would write into the script file an index to it relative to the class, not vocab.997.

In order to get the real selector index relative to vocab.997, you need to use the # character. This tells the compiler not to treat it as a property of the class. With this, you are able to reference methods and properties indirectly.

Example

(method (CallMethod methodIndex params)
  (
var i)
  (
self:methodIndex(rest params))
)

// Then in another function, you could call it like this...
(SomeClass:CallMethod(#doit))
(
SomeClass:CallMethod(#init someParam anotherParam))
// You could always call doit like this...
(SomeClass:doit())
// But there are some times that this method is necessary

See Also: Classes/Instances, Properties, Rest