HoldAllComplete
評価過程において関数に与えるすべての引数をいかなる方法でも変更禁止または参照不可とする属性である.
詳細
- 属性HoldAllCompleteを関数に与えることで,実効的に関数の引数をWolfram言語の標準評価処理のすべての面において保護することができる.
- HoldAllCompleteは,引数の評価が行われないようにするだけでなく,Sequenceオブジェクトがフラットにされないようにしたり,作用素Unevaluatedの除去が行われないようにしたり,引数に関連付けられている上向きの値の使用が行われないようにする働きも持つ.
- EvaluateでHoldAllCompleteの作用を上書きすることはできない.
例題
すべて開くすべて閉じる例 (1)
特性と関係 (4)
HoldCompleteは,属性HoldAllCompleteを持つ標準的な入れ物である:
属性HoldAllCompleteを持つ式にはいかなる評価制御の形式も影響しない:
属性HoldAllCompleteを持つ式の内側でも置換は行われる:
Unevaluatedは属性HoldAllCompleteを持つ:
考えられる問題 (2)
HoldAllCompleteは評価にのみ影響し,入力の変換は依然として適用される:
HoldAllCompleteはフォーマッティングを阻止しない:
DisableFormattingを加えてフォーマッティングを阻止する:
おもしろい例題 (1)
Hofstadter–Conway数列を素早く計算する方法 [詳細]:
テキスト
Wolfram Research (1996), HoldAllComplete, Wolfram言語関数, https://reference.wolfram.com/language/ref/HoldAllComplete.html.
CMS
Wolfram Language. 1996. "HoldAllComplete." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/HoldAllComplete.html.
APA
Wolfram Language. (1996). HoldAllComplete. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/HoldAllComplete.html