产品
产品概览
Mathematica
Mathematica 学生版
Mathematica Home Edition
Wolfram
CDF Player
(免费下载)
可计算文档格式(CDF)
web
Mathematica
grid
Mathematica
Wolfram
Workbench
Mathematica
附加程序包
Wolfram|Alpha 产品
解决方案
解决方案概览
工程
航空航天与国防
化学工程
控制系统
电气工程
图像处理
工业工程
材料科学
机械工程
运筹学
光学
石油工程
生物技术与医药
生物信息学
医学影像
金融、统计、商业分析
精算科学
数据分析与挖掘
计量经济学
经济学
金融工程与数学
金融风险管理
统计
软件工程、内容传递
创作与出版
界面开发
软件工程
网页开发
科学
天文学
生物科学
化学
环境科学
地球科学
社会与行为科学
设计、艺术以及娱乐
游戏设计、特殊效果及衍生艺术
教育
STEM 教育倡议
高等教育
高职高专院校
中小学教育
学生
科技
可计算文档格式(CDF)
高性能并行计算(HPC)
参见:技术指南
购买
网上商店
其它购买方式
批量许可及站点许可证
联络销售部
软件
服务
升级
培训
书籍
技术支持
技术支持概览
知识库
学习中心
社区与论坛
培训
确认授权
Wolfram 用户门户
公司概况
关于 Wolfram Research
新闻与活动
Wolfram 博客
合作伙伴
工作机会
Mathematica
的历史
Stephen Wolfram 主页
联系我们
公司网站
全部站点
Wolfram|Alpha
演示项目
MathWorld
Integrator
Wolfram Functions Site
Mathematica Journal
Wolfram Media
Wolfram
Tones
Wolfram Science
Stephen Wolfram
DOCUMENTATION CENTER SEARCH
New to
Mathematica
?
Find your learning path
»
虚拟全书
>
核心语言
>
模块化和事物的命名
>
局部常量
>
MATHEMATICA 教程
模块化和事物的命名
在 Dynamic 或 Manipulate 内部计算表达式
相关教程 »
|
过程式编程
更多关于 »
|
With
函数 »
局部常量
With
[{
x
=
x
0
,
y
=
y
0
,
...
},
body
]
定义局部常量
x
,
y
, ...
定义局部常量.
在
Module
中可以定义局部变量,这样我们可以对其赋值并且改变其值. 然而,通常我们所需要的是局部常量,对其我们仅需要赋值一次.
Mathematica
中的
With
结构可以建立局部常量.
定义
的全局值.
In[1]:=
Out[1]=
定义把
作为局部常量的函数.
In[2]:=
使用定义
.
In[3]:=
Out[3]=
仍然具有它的全局值.
In[4]:=
Out[4]=
与模块
Module
中的情况相似,用
With
定义的初始值在
With
执行之前进行计算.
给局部常量
赋值的表达式
用
的全局值进行计算.
In[5]:=
Out[5]=
With
的工作方式是取
body
,并用
代替
x
,等等. 可以将
With
理解为
运算的推广,可适用于
Mathematica
的代码.
使用
替换
.
In[6]:=
Out[6]=
替代以后,
With
的内容是
,故
得到了全局值
.
In[7]:=
Out[7]=
清除
的值.
In[8]:=
在某种意义上,
With
类似于局部变量仅赋值一次的
Module
的特殊形式.
用
With
而不用
Module
的主要原因之一是使
Mathematica
程序容易理解. 在模块中的某一处遇到局部变量
x
时很可能需要跟踪整个模块的代码来得到
x
在该处的值. 而在
With
结构中,只需要观察初始值列表就能得到局部常量的值.
有几个
With
结构时,总是某一个变量最里面的一个起作用. 可以将
Module
和
With
混用. 一般原则是某一变量最里面的一个起作用.
在嵌套
With
结构中,总是最里面的一个起作用.
In[9]:=
Out[9]=
可以将
Module
和
With
结构混用.
In[10]:=
Out[10]=
当名字不重合时,结构内的局部变量不屏蔽结构外的变量.
In[11]:=
Out[11]=
除了
x
和
body
在何时计算外,
With
和
的做法基本类似. 然而,当表达式
body
内部都包含
With
或
Module
结构时,
With
显示特殊的状态. 主要的问题是防止不同
With
结构中的局部常量相互冲突,或与全局目标冲突. 有关细节将在
"模块工作方式"
节讨论.
在
With
内部的
被重新命名以防止它与全局变量
冲突.
In[12]:=
Out[12]=
更多关于
过程式编程
相关教程
模块化和事物的命名
在 Dynamic 或 Manipulate 内部计算表达式
教程专集
Core Language