This is documentation for Mathematica 3, which was
based on an earlier version of the Wolfram Language.
 Scan Scan[ f , expr ] evaluates f applied to each element of expr in turn. Scan[ f , expr , levelspec ] applies f to parts of expr specified by levelspec. Scan[ f , expr ] discards the results of applying f to the subexpressions in expr. Unlike Map, Scan does not build up a new expression to return. You can use Return to exit from Scan. Return[ ret ] causes the final value of Scan to be ret. If no explicit return values are specified, the final result from Scan is Null. You can also use Throw to exit from Scan. Scan is useful in carrying out an operation on parts of expressions where the operation has a "side effect", such as making an assignment. Level specifications are described in SectionÂ A.3.6. The default value for levelspec in Scan is {1}. See the Mathematica book: Section 2.2.4. See also: Apply, Map, Level. Further Examples Scan evaluates the result of applying a function to each element but does not construct a new expression. In[1]:= a b c With the third argument set to Infinity, Scan visits the parts of an expression in a depth-first walk, with the leaves visited first. In[2]:= b x b x a x 2 2x 2a x