Next: , Previous: Function Handles Inline Functions and Anonymous Functions, Up: Functions and Scripts


11.11 Commands

Commands are a special class of functions that only accept string input arguments. A command can be called as an ordinary function, but it can also be called without the parentheses. For example,

     my_command hello world

is equivalent to

     my_command("hello", "world")

The general form of a command call is

     cmdname arg1 arg2 ...

which translates directly to

     cmdname ("arg1", "arg2", ...)

Any regular function can be used as a command if it accepts string input arguments. For example:

     toupper lower_case_arg
        ⇒ ans = LOWER_CASE_ARG

One difficulty of commands occurs when one of the string input arguments is stored in a variable. Because Octave can't tell the difference between a variable name and an ordinary string, it is not possible to pass a variable as input to a command. In such a situation a command must be called as a function. For example:

     strvar = "hello world";
     toupper strvar
        ⇒ ans = STRVAR
     toupper (strvar)
        ⇒ ans = HELLO WORLD