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


Block[{x, y, ...}, expr]
specifies that expr is to be evaluated with local values for the symbols x, y, ... .
Block[{x=x0, ...}, expr]
defines initial local values for x, ... .
  • Block allows you to set up an environment in which the values of variables can temporarily be changed.
  • When you execute a block, values assigned to x, y, ... are cleared. When the execution of the block is finished, the original values of these symbols are restored.
  • Block affects only the values of symbols, not their names.
  • Initial values specified for x, y, ... are evaluated before x, y, ... are cleared.
  • You can use Block[{vars}, body/;cond] as the right-hand side of a transformation rule with a condition attached.
  • Block implements dynamic scoping of variables.
  • Block is automatically used to localize values of iterators in iteration constructs such as Do, Sum and Table.
New in 1