1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
|
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.
|