With

With[{x=x0,y=y0,},expr]

指定在 expr 中出现的符号 xy 应当由 x0y0 替换.

更多信息

  • With 允许用户定义局部常量.
  • 仅当它们在结构体中不作为局部变量出现时,With 替换 expr 中的符号.
  • With[{x:=x0,},expr] 将未计算形式的 x0 插入到 expr 中.
  • 可将 With[{vars},body/;cond] 作为转换规则的右侧,并同时附加一个条件. »
  • With 具有属性 HoldAll.
  • With 结构可以以任何方式嵌套,其中内部变量在必要时可以重新命名.
  • With 是实现只读词法变量的作用域结构.

范例

打开所有单元关闭所有单元

基本范例  (3)

估值本地设置为 7x 的表达式:

本地设置 xy

With 即便没有估值也可以工作:

范围  (4)

With 把值插入到 不计算的表达式中:

:= 将未计算形式的表达式插入到结果中:

与下面的式子相比较:

变量名称可以是相同的:

对于多次使用的一个值使用一个常量:

应用  (1)

With 允许把值插入到未计算的表达式中:

属性和关系  (5)

x:=x0 插入未计算形式的 x0,然后根据周围环境进行计算:

x=x0x0 进行一次性计算,并将结果插入到 x 出现的所有位置:

Module 引入可以赋值的局部变量:

With 变量是只读变量:

With 的速度比 Module 快:

Block 仅局部化值;它并不替代值. Module 创建新符号:

With 允许在未计算表达式内的替代,避免嵌套结构:

普通的替代不能保持结构:

可能存在的问题  (1)

With 是一个范围结构;在嵌套范围内变量可以重命名:

从函数的元素来构建函数,避免重命名:

巧妙范例  (2)

用牛顿方法求出任意函数的零值:

求出一个固定点:

With 的一种版本,其中在局部变量的范围内初始化:

这里函数定义内的 f 不在它自身的范围内:

Wolfram Research (1991),With,Wolfram 语言函数,https://reference.wolfram.com/language/ref/With.html.

文本

Wolfram Research (1991),With,Wolfram 语言函数,https://reference.wolfram.com/language/ref/With.html.

CMS

Wolfram 语言. 1991. "With." Wolfram 语言与系统参考资料中心. Wolfram Research. https://reference.wolfram.com/language/ref/With.html.

APA

Wolfram 语言. (1991). With. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/With.html 年

BibTeX

@misc{reference.wolfram_2024_with, author="Wolfram Research", title="{With}", year="1991", howpublished="\url{https://reference.wolfram.com/language/ref/With.html}", note=[Accessed: 17-November-2024 ]}

BibLaTeX

@online{reference.wolfram_2024_with, organization={Wolfram Research}, title={With}, year={1991}, url={https://reference.wolfram.com/language/ref/With.html}, note=[Accessed: 17-November-2024 ]}