Block

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, ... .

DetailsDetails

  • 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 has attribute HoldAll.
  • 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
New to Mathematica? Find your learning path »
Have a question? Ask support »