EchoEvaluation

EchoEvaluation[expr]

在运算之前打印 expr,在运算之后打印结果并返回该结果.

EchoEvaluation[expr,label]

在运算之前和之后打印 expr 时加 label.

EchoEvaluation[expr,label1label2]

在运算之前加 label1,在运算之后加 label2.

EchoEvaluation[expr,labels,f]

在运算之前打印 expr,然后将 expr 运算为结果 res 并打印 f[res].

EchoEvaluation[expr,labels,gf]

在运算 expr 之前打印 g[expr],在运算之后打印 f[res].

更多信息

范例

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

基本范例  (3)

在运算前后打印中间计算:

x=1+1
2

打印带有标签的中间运算:

"sum:" 1+1
"result:" 2

报告运算结果的属性:

"input:" FactorInteger[250-1]
"factors:" 7

范围  (5)

在运算前后打印表达式:

23
8

在运算前后添加标签:

"sum:"
"result:" 1

指定运算前后的打印函数:

"input:" RowBox[{"b","+","a"}]
"framed:" a+b

EchoEvaluation 可以嵌套:

Accumulate[EchoEvaluation[Reverse[EchoEvaluation[Range[10]]]]]
Reverse[EchoEvaluation[Range[10]]]
Range[10]
{1,2,3,4,5,6,7,8,9,10}
{10,9,8,7,6,5,4,3,2,1}
{10,19,27,34,40,45,49,52,54,55}

使用下面这个函数,以避免打印嵌套的 EchoEvaluation 表达式:

EchoEvaluation 不会出现在打印的表达式中:

Accumulate[Reverse[Range[10]]]
Reverse[Range[10]]
Range[10]
{1,2,3,4,5,6,7,8,9,10}
{10,9,8,7,6,5,4,3,2,1}
{10,19,27,34,40,45,49,52,54,55}

属性和关系  (5)

EchoEvaluation 在第一个参数中返回表达式:

expr
expr

EchoEvaluation 在运算之前和之后打印表达式:

1+1
2

Echo 仅在运算后打印表达式:

EchoEvaluation 在运算前后使用相同的标签:

"words:" StringSplit["This is a sentence"]
"words:" {"This","is","a","sentence"}

在运算之前和之后指定不同的标签:

"sentence:" StringSplit["This is a sentence"]
"words:" {"This","is","a","sentence"}

EchoEvaluation[expr,label,f] 在运算后使用 f 打印结果:

"sum:" 1+1
"sum:" Hold[2]

EchoEvaluation[expr,label,gf] 中,提供给函数 g 的是未运算的表达式,提供给 f 的是运算后的表达式:

"sum:" Hold[1+1]
"sum:" HoldComplete[2]

EchoEvaluation[expr,label] 实际上等价于 EchoEvaluation[expr,label,UnevaluatedIdentity]

label Print["Hello"]
label Null
label Print["Hello"]
label Null

可能存在的问题  (1)

EchoEvaluation[expr,label,gf] 中,函数 g 必须具有诸如 HoldFirst 之类的保持属性,否则 expr 将被运算两次:

"increment:"
"increment:" 1

由于 Panel 不保持其参数,因此符号 x 已增加两次:

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

文本

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

CMS

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

APA

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

BibTeX

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

BibLaTeX

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