Dynamic,DynamicModule,Manipulateおよびその関連構文のオプションであり,構文がもはや表示されないか,または使われないときに評価される式を指定する.
Deinitialization
Dynamic,DynamicModule,Manipulateおよびその関連構文のオプションであり,構文がもはや表示されないか,または使われないときに評価される式を指定する.
詳細
- 典型的な使用法はDeinitialization:>expr である.
- Deinitializationは,一般に,構文を含むセルが削除されるか,それを含むノートブックが閉じられたときに行われる.
- Deinitializationは,初期化が前もって行われていなければ,行われることはない.
- Deinitializationは,構文が,例えばクリップボードのように不可視の場所に現れた場合には遅延されることがある.
- 初期化されなかったオブジェクトは,「取消し」を使った結果として保存されている場合は再び初期化することができる.また,「やり直し」あるいはオブジェクトを削除するその他のアクションを使って再び初期化をやめることができる.
例題
すべて開く すべて閉じる例 (3)
色を選択して,ウィンドウが閉じられたときに,その色の円板を作成する:
CreateDialog[DynamicModule[{c}, ColorSlider[Dynamic[c]], Initialization :> (c = Pink), Deinitialization :> (CreateDialog[Graphics[{c, Disk[]}]])]];With[{nb = CreateWindow[]}, CreateDialog[Manipulate[SetOptions[nb, Background -> c, WindowOpacity -> o];Column@{c, o}, {c, Green}, {{o, 0.5}, 0, 1}, Deinitialization :> (SetOptions[nb, Background -> Inherited, WindowOpacity -> Inherited])]]];ウィンドウがどのくらいの間表示されたかをトラックして表示する:
CreateDialog[DynamicModule[{t}, ProgressIndicator[Dynamic[Clock[Infinity]], Indeterminate], Initialization :> (t = AbsoluteTime[]), Deinitialization :> (CreateDialog[ToString@StringForm["Viewed for `1` seconds", AbsoluteTime[] - t]])]];スコープ (2)
ウィンドウが表示されているときはマウスの位置をトラックし,閉じられたときはプロットを表示する:
CreateDialog[DynamicModule[{pos}, Dynamic[AppendTo[pos, {1, -1}MousePosition[]];MousePosition[]], Initialization :> (pos = {}), Deinitialization :> (CreateDialog[ListPlot[Union@pos, Axes -> False]])]];With[{nb = EvaluationNotebook[]}, CreateDialog[{Slider[Dynamic[CurrentValue[nb, FontSize]], {5, 15}], Dynamic[CurrentValue[nb, FontSize], Deinitialization :> (CurrentValue[nb, FontSize] = Inherited)]}]];特性と関係 (1)
Dynamicが初期化をやめた構造を壊すたびに,再び初期化がやめられる:
DynamicModule[{inner = RandomColor[]}, Dynamic[{Row[{"outer: ", RandomColor[]}], Dynamic[Row[{"inner: ", inner}], Deinitialization :> (inner = RandomColor[])]}, UpdateInterval -> 1]]おもしろい例題 (1)
現在の時間を表示し,ウィンドウが閉じられたときにグラフィカルに表示する:
clock[{h_, m_, s_}] := Graphics[{Table[Text[t, 0.9{Sin[t Pi / 6], Cos[t Pi / 6]}], {t, 1, 12}], Circle[], Green, Rotate[Line[{{0, 0}, {0, 0.9}}], (-2Pi)s / 60, {0, 0}], Blue, Rotate[Line[{{0, 0}, {0, 0.8}}], (-2Pi)(m + s / 60) / 60, {0, 0}], Rotate[Line[{{0, 0}, {0, 0.4}}], (-2Pi)Mod[h + m / 60, 12] / 12, {0, 0}]}]CreateDialog[Dynamic[DateString[], UpdateInterval -> 1, Deinitialization :> CreateDialog[clock@Take[DateList[], -3]]]];関連項目
関連するガイド
関連するワークフロー
- Manipulateを構築する ▪
- 自動更新される動的コンテンツをノートブックに含める ▪
- パレットを作成する
テキスト
Wolfram Research (2007), Deinitialization, Wolfram言語関数, https://reference.wolfram.com/language/ref/Deinitialization.html.
CMS
Wolfram Language. 2007. "Deinitialization." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/Deinitialization.html.
APA
Wolfram Language. (2007). Deinitialization. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/Deinitialization.html
BibTeX
@misc{reference.wolfram_2026_deinitialization, author="Wolfram Research", title="{Deinitialization}", year="2007", howpublished="\url{https://reference.wolfram.com/language/ref/Deinitialization.html}", note=[Accessed: 06-September-2026]}
BibLaTeX
@online{reference.wolfram_2026_deinitialization, organization={Wolfram Research}, title={Deinitialization}, year={2007}, url={https://reference.wolfram.com/language/ref/Deinitialization.html}, note=[Accessed: 06-September-2026]}