This is documentation for Mathematica 7, which was
based on an earlier version of the Wolfram Language.
View current documentation (Version 11.2)

BlankNullSequence (___)

___ (three _ characters) or BlankNullSequence[]
is a pattern object that can stand for any sequence of zero or more Mathematica expressions.
___h or BlankNullSequence[h]
can stand for any sequence of expressions, all of which have head h.
  • Blank sequences work slightly differently depending on whether or not the head of the expression in which they appear is a symbol with the attribute Flat.
  • Consider matching the pattern f[a1, a2, ..., ___, c1, ...] against the expression f[a1, a2, ..., b1, ..., c1, ...]. If f is a symbol with attribute Flat, then the ___ will be taken to stand for the expression f[b1, ...]. If f is not a symbol with attribute Flat, then ___ will be taken to stand for the sequence of expressions b1, .... With a named pattern, such as x___, x can be used only as an element in an expression. The sequence of expressions b1, ... is "spliced in" to replace x, thereby usually increasing the length of the expression.
  • If ___ matches a sequence of length more than one, then the sequence will be represented by a Sequence object. In most uses of ___, however, the Sequence object will automatically be spliced into another expression, and will never appear explicitly.
A function that works with any number of arguments:
A function that works with any number of integer arguments:
A function that works with an integer followed by any number of arguments:
A function that works with any number of arguments:
In[1]:=
Click for copyable input
In[2]:=
Click for copyable input
Out[2]=
 
A function that works with any number of integer arguments:
In[1]:=
Click for copyable input
In[2]:=
Click for copyable input
Out[2]=
 
A function that works with an integer followed by any number of arguments:
In[1]:=
Click for copyable input
In[2]:=
Click for copyable input
Out[2]=
New in 1