rsc3/doc-schelp/HelpSource/Classes/Method.schelp

56 lines
1.6 KiB
Text
Raw Normal View History

2022-08-24 13:53:18 +00:00
class::Method
categories::Core>Kernel
summary:: Code that implements an operation upon instances of a Class.
related:: Classes/Class
description::
A Method is code that is a part of the set of operations upon instances of a link::Classes/Class::.
subsection:: Related Keywords
method:: thisMethod
The global pseudo-variable code::thisMethod:: always evaluates to the enclosing Method in a class definition, much like code::thisFunction::.
When executed outside that context, it returns link::Classes/Interpreter#-functionCompileContext::, the method within which all interpreted code executes.
code::
// if the following code were compiled as part of the class library:
SomeClass {
methodThatPostsItself {
thisMethod.postln;
}
}
// then running this would post
// "SomeClass:methodThatPostsItself"
a = SomeClass.new;
a.methodThatPostsItself;
::
code::thisMethod:: is frequently used to pass information to error-throwing methods. For example, the implementation of code::Nil.new:: is:
code::
*new { ^this.shouldNotImplement(thisMethod) }
::
See also: link::Classes/Function#.thisFunction#thisFunction::.
instanceMethods::
method::ownerClass
returns::
The link::Classes/Class:: for which the method is part of the implementation.
method::name
returns::
A link::Classes/Symbol:: which is the name of the Method.
method::primitiveName
returns::
A link::Classes/Symbol:: which contains the name of the primitive function that implements the Method, if there is one.
method:: filenameSymbol
returns::
A link::Classes/Symbol:: which is the full path of the source file that this method is defined in.