Call command args, ...
Invoke a command.
Normally, commands are invoked by listing their name and arguments, as in
SetWaypoint 1000, 1020
However, this only works if the command is a single word. Invoking a command on another object requires With.
Using Call, you can invoke commands using an expression. This allows commands that are hard to express using With, for example
% set towee's fcode to the same as ours Call Ship(Mission.Tow).SetFCode FCode
In addition, it can be a tiny bit more efficient in some cases.
Caveat Emptor: when interpreting the "command" expression, Call will consume the longest possible expression (greedy parsing). This means, Call Foo -1 will be interpreted as the call of a subtraction expression, which is meaningless, instead of as a call of Foo with parameter -1. In this case, add an additional comma to indicate where the "command" expression ends:
Call Foo, -1
See also: Elementary Commands