Optional

patt:def or Optional[patt,def]

is a pattern object that represents an expression of the form patt, which, if omitted, should be replaced by the default value def.

Details

  • 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 s_:v is equivalent to Optional[s_,v]. This form is also equivalent to s:_:v. There is no syntactic ambiguity since s must be a symbol in this case.
  • The special form s_. 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 builtin default values include Plus, Times, and Power.

Examples

Basic Examples  (1)

Use the function with both arguments specified explicitly:

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

Wolfram Research (1988), Optional, Wolfram Language function, https://reference.wolfram.com/language/ref/Optional.html.

Text

Wolfram Research (1988), Optional, Wolfram Language function, https://reference.wolfram.com/language/ref/Optional.html.

BibTeX

@misc{reference.wolfram_2021_optional, author="Wolfram Research", title="{Optional}", year="1988", howpublished="\url{https://reference.wolfram.com/language/ref/Optional.html}", note=[Accessed: 03-August-2021 ]}

BibLaTeX

@online{reference.wolfram_2021_optional, organization={Wolfram Research}, title={Optional}, year={1988}, url={https://reference.wolfram.com/language/ref/Optional.html}, note=[Accessed: 03-August-2021 ]}

CMS

Wolfram Language. 1988. "Optional." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/Optional.html.

APA

Wolfram Language. (1988). Optional. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/Optional.html