The question mark
? is part of the predicate name.
It does also indicate to the SkookumScript parser that it will always return a
Predicates are intuitive to read and you don't have to worry about whether to start a method with
are_ - instead you just use
Method calls with a
? must return a
Boolean class type. If you put any other result class type the SkookumScript parser will complain. If you omit the result class type for a predicate, the parser will infer (fill in the blank) with
Variables may also be predicates and end with a question mark
? such as
Data member predicates must also only be
Boolean. If you use any other class type when defining a data member in the
!Data.sk file the SkookumScript parser will complain and if the type is omitted then
Boolean is inferred.