Next: Documentation strings, Previous: Object creation, Up: Syntax
Unlike in other languages, there is a syntactic difference between dereferencing an object and
calling a method on an object. The dot (.) operator dereferences a class and
returns the contents:
x = class.property;
The pipe (|), on the other hand, dereferences the method and then calls it with the arguments
and object given:
x|doWork();
Any arguments passed to the method are within the parenthesis (which are optional if no arguments are being passed). For methods not defined in a class, the parenthesis are required for Kite to determine whether you want the method object or to call the method.
Inside of a class, if you wish to call the version of a function that is inside a parent class, you may do so by prepending the parent class's name. For example:
class a [
method x() [ ... ]
];
class b from a [
method x() [ ...; a|x(); ... ]
];
y = make b();
y|x;
The special __construct__ method can also be used to reference parent (or your own)
constructors.