Methods in structs can be defined using the method
keyword in
definitions like this:
method identifier = function_body
where function_body is the body of a function. See Function Declarations.
When invoked, a method gets an implicit last argument which is the struct value whose method is being used.
Methods can refer to the fields of the containing struct type that have been defined before the method itself, by name.
Additionally, the containing struct can be referred explicitly under
the name SELF
in the body of the method. SELF
has type
any
.