Module
Module[{x,y,…},expr]
specifies that occurrences of the symbols x, y, … in expr should be treated as local.
Module[{x=x0,…},expr]
defines initial values for x, ….
Details
- Module allows you to set up local variables with names that are local to the module.
- Module creates new symbols to represent each of its local variables every time it is called.
- Module creates a symbol with name xxx$nnn to represent a local variable with name xxx. The number nnn is the current value of $ModuleNumber.
- The value of $ModuleNumber is incremented every time any module is used.
- Before evaluating expr, Module substitutes new symbols for each of the local variables that appear anywhere in expr except as local variables in scoping constructs.
- Symbols created by Module carry the attribute Temporary.
- Symbols created by Module can be returned from modules.
- You can use Module[{vars},body/;cond] as the right‐hand side of a transformation rule with a condition attached.
- Module has attribute HoldAll.
- Module constructs can be nested in any way, with inner variables being renamed if necessary.
- Module is a scoping construct that implements lexical scoping.
Examples
open allclose allBasic Examples (1)
Applications (2)
Properties & Relations (8)
Every time a module is evaluated, a new temporary symbol is created:
Module symbols are temporary and are removed if they are no longer referenced:
Each use of Module increments $ModuleNumber:
If there is no need to assign to a local variable, a constant should be used instead:
Block localizes values only; it does not create new symbols:
Unique creates new variables in a way similar to Module:
Local variables are not affected by global ones, and vice versa:
A symbol brought into the scope of Module is not affected by naming conflicts:
Text
Wolfram Research (1991), Module, Wolfram Language function, https://reference.wolfram.com/language/ref/Module.html.
CMS
Wolfram Language. 1991. "Module." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/Module.html.
APA
Wolfram Language. (1991). Module. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/Module.html