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は第1引数にある式を返す:

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,Unevaluated]と同じである:

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

考えられる問題  (1)

EchoEvaluation[expr,label,gf]の関数 gHoldFirstのようなホールド属性を持たない場合は,expr が2回評価される:

"increment:"
"increment:" 1

Panelはその引数をホールドしないので,記号 x が2回増分された:

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 Language. 2020. "EchoEvaluation." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/EchoEvaluation.html.

APA

Wolfram Language. (2020). EchoEvaluation. Wolfram Language & System Documentation Center. Retrieved from 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: 22-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: 22-November-2024 ]}