产品
产品概览
Mathematica
Mathematica 学生版
Mathematica Home Edition
Wolfram
CDF Player
(免费下载)
可计算文档格式(CDF)
web
Mathematica
grid
Mathematica
Wolfram
Workbench
Wolfram
SystemModeler
Wolfram
Finance Platform
Mathematica
附加程序包
Wolfram|Alpha 产品
解决方案
解决方案概览
工程
航空航天与国防
化学工程
控制系统
电气工程
图像处理
工业工程
材料科学
机械工程
运筹学
光学
石油工程
生物技术与医药
生物信息学
医学影像
金融、统计、商业分析
精算科学
数据分析与挖掘
计量经济学
经济学
金融工程与数学
金融风险管理
统计
软件工程、内容传递
创作与出版
界面开发
软件工程
网页开发
科学
天文学
生物科学
化学
环境科学
地球科学
社会与行为科学
设计、艺术以及娱乐
游戏设计、特殊效果及衍生艺术
教育
STEM 教育倡议
高等教育
高职高专院校
中小学教育
学生
科技
可计算文档格式(CDF)
高性能并行计算(HPC)
参见:技术指南
购买
网上商店
其它购买方式
批量许可及站点许可证
联络销售部
软件
服务
升级
培训
书籍
Merchandise
技术支持
技术支持概览
Mathematica
参考资料
知识库
学习中心
技术服务
社区与论坛
培训
查看站点是否有许可证授权
Wolfram 用户门户
公司概况
关于 Wolfram Research
新闻与活动
Wolfram 博客
合作伙伴
工作机会
Mathematica
的历史
Stephen Wolfram 主页
联系我们
公司网站
全部站点
Wolfram|Alpha
演示项目
MathWorld
Integrator
Wolfram Functions Site
Mathematica Journal
Wolfram Media
Wolfram
Tones
Wolfram Science
Stephen Wolfram
THIS IS DOCUMENTATION FOR AN OBSOLETE PRODUCT.
SEE THE
DOCUMENTATION CENTER
FOR THE LATEST INFORMATION.
DOCUMENTATION CENTER SEARCH
New to
Mathematica
?
Find your learning path
»
Mathematica
>
核心语言
>
过程式编程
>
作用域结构
>
Module
>
Mathematica
>
核心语言
>
程序包开发
>
命名空间的管理
>
作用域结构
>
Module
>
MATHEMATICA 内置符号
过程函数
模块和局部变量
纯函数和规则中的变量
块与模块的比较
动态简介
教程 »
|
With
Block
DynamicModule
Unique
GeneratedParameters
参见 »
|
属性
语言概述
命名空间的管理
封装的程序包
程序包开发
过程式编程
作用域结构
更多关于 »
Module
Module
指定
expr
中符号
x
、
y
、... 出现的位置应被当作局部值.
Module
用来定义
x
, ... 的初始值.
更多信息
Module
允许用户创建局部变量,该局部变量的名称相对于模块是局部的.
在每次被调用时,
Module
创建新的符号来表示它的每个局部变量.
Module
创建名称为
的符号来表示名称为
xxx
的局部变量.
nnn
是
$ModuleNumber
当前的值.
每次任何模块被使用时,
$ModuleNumber
的值都会增加.
在计算
expr
之前,
Module
使用新符号来替换出现在
expr
中任意位置除作为作用域结构(scoping construct)中的局部变量外的每一个局部变量.
使用
Module
创建的符号具有
Temporary
属性.
使用
Module
创建的符号可以从模块返回.
你使用
Module
作为带有一个条件的变换法则的右式.
Module
具有
HoldAll
属性.
Module
结构可以以任何方式嵌套,如有必要内变量会被改名.
Module
是一个实现词典式作用域的作用域结构.
范例
关闭所有单元
例
(1)
In[1]:=
In[2]:=
Out[2]=
应用
(2)
局部函数的动态编程:
对最大公约数(GCD)使用初始化局部变量的欧几里德Euclid算法:
属性和关系
(8)
每次运算 module 会产生一个临时的代码:
Module 的符号是临时的,如果它们不再被引用会被删除:
每次使用
Module
会增加
$ModuleNumber
:
如果没有必要指定给局部变量,产品品种应该使用常量:
With
比
Module
快:
Block
只作用于局部变量; 它不创造新的符号:
Unique
类似与
Module
,产生新的变量:
局部变量不会受全局变量的影响,反之亦然:
Module
中的符号不会受到命名冲突:
可能存在的问题
(3)
Module
是作用域结构,内局部变量屏蔽外部的:
在嵌套作用域中,变量会被改名:
从其内部建立函数,以避免重新命名:
并行分配不适用于
Module
变量:
参见
With
Block
DynamicModule
Unique
GeneratedParameters
教程
过程函数
模块和局部变量
纯函数和规则中的变量
块与模块的比较
动态简介
更多关于
属性
语言概述
命名空间的管理
封装的程序包
程序包开发
过程式编程
作用域结构
版本 2 的新功能