is a pattern object that represents an expression of the form p, which, if omitted, should be replaced by v.


  • Optional is used to specify "optional arguments" in functions represented by patterns. The pattern object p gives the form the argument should have, if it is present. The expression v gives the "default value" to use if the argument is absent.
  • The form is equivalent to Optional[s_, v]. This form is also equivalent to . There is no syntactic ambiguity since s must be a symbol in this case.
  • The special form is equivalent to Optional[s_] and can be used to represent function arguments which, if omitted, should be replaced by default values globally specified for the functions in which they occur.
  • Values for Default[f, ...] specify default values to be used when appears as an argument of f. Any assignments for Default[f, ...] must be made before first appears as an argument of f.
  • Optional[s_h] represents a function which can be omitted, but which, if present, must have head h. There is no simpler syntactic form for this case.
  • Functions with built-in default values include Plus, Times, and Power.

ExamplesExamplesopen allclose all

Basic Examples (1)Basic Examples (1)

Click for copyable input

Use the function with both arguments specified explicitly:

Click for copyable input

The second argument is now taken to have its default value:

Click for copyable input
New in 1
New to Mathematica? Find your learning path »
Have a question? Ask support »