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]を出力する.
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]を出力する.
詳細
- EchoEvaluationは評価の前後に式を出力するEchoの異形である.
- EchoEvaluationは属性HoldFirstを有する.
- EchoEvaluation[expr,labels,f]はEchoEvaluation[expr,labels,Unevaluatedf]に等しい.
- 結果にマウスオーバーすると評価前の式がツールチップに表示される.
例題
すべて開く すべて閉じる例 (3)
expr1;EchoEvaluation[x = 1 + 1];expr2expr1;x = EchoEvaluation[1 + 1, "sum:" -> "result:"];expr2expr1;x = EchoEvaluation[FactorInteger[2 ^ 50 - 1], "input:" -> "factors:", Length];expr2スコープ (5)
EchoEvaluation[2 ^ 3]EchoEvaluation[Sum[1 / 2 ^ n, {n, Infinity}], "sum:" -> "result:"]EchoEvaluation[b + a, "input:" -> "framed:", MakeBoxes -> Framed]EchoEvaluationはネストさせることができる:
EchoEvaluation[Accumulate[EchoEvaluation[Reverse[EchoEvaluation[Range[10]]]]]]ネストしたEchoEvaluation式の出力を避けるために以下の関数を使う:
SetAttributes[hideEchoEvaluation, HoldFirst];
hideEchoEvaluation[expr_] := WithCleanup[MakeBoxes[EchoEvaluation[arg_, ___], form_] := MakeBoxes[arg, form], expr, MakeBoxes[EchoEvaluation[arg_, ___], form_]=.]EchoEvaluationは出力された式の中にはない:
EchoEvaluation[Accumulate[EchoEvaluation[Reverse[EchoEvaluation[Range[10]]]]]]//hideEchoEvaluation特性と関係 (5)
EchoEvaluationは第1引数にある式を返す:
EchoEvaluation[expr]EchoEvaluationは評価前後の式を出力する:
EchoEvaluation[1 + 1]Echoは評価後の式しか出力しない:
Echo[1 + 1]EchoEvaluationは評価の前後に同じラベルを使う:
EchoEvaluation[StringSplit["This is a sentence"], "words:"]EchoEvaluation[StringSplit["This is a sentence"], "sentence:" -> "words:"]EchoEvaluation[expr,label,f]は f を使って評価後に結果を出力する:
EchoEvaluation[1 + 1, "sum:", Hold]EchoEvaluation[expr,label,gf]の関数 g は未評価の式を与えられ,f は評価した式を与えられる:
EchoEvaluation[1 + 1, "sum:", Hold -> HoldComplete]EchoEvaluation[expr,label]は,事実上,EchoEvaluation[expr,label,Unevaluated]と同じである:
EchoEvaluation[Print["Hello"], label]EchoEvaluation[Print["Hello"], label, Unevaluated -> Identity]考えられる問題 (1)
EchoEvaluation[expr,label,gf]の関数 g がHoldFirstのようなホールド属性を持たない場合は,expr が2回評価される:
x = 0;EchoEvaluation[x++, "increment:", Panel -> Identity];Panelはその引数をホールドしないので,記号 x が2回増分された:
x関連するガイド
-
▪
- プログラム中の基本的な入出力 ▪
- 調整とデバッグ ▪
- ロバスト性とエラー処理
テキスト
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_2026_echoevaluation, author="Wolfram Research", title="{EchoEvaluation}", year="2020", howpublished="\url{https://reference.wolfram.com/language/ref/EchoEvaluation.html}", note=[Accessed: 10-September-2026]}
BibLaTeX
@online{reference.wolfram_2026_echoevaluation, organization={Wolfram Research}, title={EchoEvaluation}, year={2020}, url={https://reference.wolfram.com/language/ref/EchoEvaluation.html}, note=[Accessed: 10-September-2026]}