OptionalElement[patt]
is a grammar rules pattern object that represents 0 or 1 instances of patt.
OptionalElement[patt,default]
uses default if the element is not present.
OptionalElement
OptionalElement[patt]
is a grammar rules pattern object that represents 0 or 1 instances of patt.
OptionalElement[patt,default]
uses default if the element is not present.
Details
- OptionalElement appears inside GrammarRules objects.
Examples
open all close allBasic Examples (2)
Allow certain words to be optional:
grammar = CloudDeploy[
GrammarRules[{FixedOrder[OptionalElement["from"], from : GrammarToken["City"], "to", to : GrammarToken["Ocean"]] :> from -> to}]
]GrammarApply[grammar, "Boston to the Pacific"]Supply a default value for a missing element:
grammar = CloudDeploy[
GrammarRules[{FixedOrder[OptionalElement["from"], from : OptionalElement[GrammarToken["City"], None], "to", to : GrammarToken["Ocean"]] :> Replace[from, None -> $GeoLocationCity] -> to}]
]GrammarApply[grammar, "Boston to the Pacific"]GrammarApply[grammar, "to the Pacific"]Possible Issues (1)
The default value evaluates immediately:
CloudGet[CloudDeploy[
GrammarRules[{FixedOrder[OptionalElement["from"], from : OptionalElement[GrammarToken["City"], $GeoLocationCity], "to", to : GrammarToken["Ocean"]] :> from -> to}]
]]Use a sentinel for a dynamic default value:
grammar = CloudDeploy[
GrammarRules[{FixedOrder[OptionalElement["from"], from : OptionalElement[GrammarToken["City"], None], "to", to : GrammarToken["Ocean"]] :> Replace[from, None -> $GeoLocationCity] -> to}]
]GrammarApply[grammar, "to the Pacific"]See Also
Related Guides
History
Text
Wolfram Research (2015), OptionalElement, Wolfram Language function, https://reference.wolfram.com/language/ref/OptionalElement.html.
CMS
Wolfram Language. 2015. "OptionalElement." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/OptionalElement.html.
APA
Wolfram Language. (2015). OptionalElement. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/OptionalElement.html
BibTeX
@misc{reference.wolfram_2026_optionalelement, author="Wolfram Research", title="{OptionalElement}", year="2015", howpublished="\url{https://reference.wolfram.com/language/ref/OptionalElement.html}", note=[Accessed: 13-June-2026]}
BibLaTeX
@online{reference.wolfram_2026_optionalelement, organization={Wolfram Research}, title={OptionalElement}, year={2015}, url={https://reference.wolfram.com/language/ref/OptionalElement.html}, note=[Accessed: 13-June-2026]}