Ghost is deeply object oriented, so most code consists of invoking methods on objects, usually something like this:
dog.speak("Throw the ball!")
You have a receiver expression (here
dog) followed by a
., then a name (
speak) and an argument list in parentheses (
("Throw the ball!")). Multiple arguments are separated by commas:
The argument list can also be empty:
Ghost executes a method call like so:
- Evaluate the receiver and arguments from left to right.
- Look up the method on the receiver's object.
- Invoke it, passing in the argument values.