CellContext

CellContext

Cellのオプションで,セルの内容の評価に使うコンテキストを指定する.

詳細

  • 次の設定を使うことができる.
  • "context`"明示的なコンテキスト
    Notebookこのノートブックに対して一意的なもの
    CellGroupこのセルグループに対して一意的なもの
    Cellこのセルに対して一意的なもの
  • デフォルト設定はCellContext->"Global`"である.
  • CellContext->Cellの場合は,現行セルに一意的なデフォルトのコンテキストが使われる.このコンテキストは,他のすべてのセルのデフォルトのコンテキストと常に異なる.しかし,現行セルで行われる評価中は同じままである.
  • CellContext->CellGroupの場合は,現行セルおよびそれによって生成される出力を含む,最も内側のセルグループ内のセルで,共通の一意的なデフォルトコンテキストが使用される.
  • CellContext->Notebookの場合は,現行ノートブック内のすべてのセルに共有される一意的なデフォルトコンテキストが使われる.
  • CellContextは実質的に,一つのWolframシステムセッション内の一連の評価がお互いに独立するようにする.
  • CellContextを使ってデフォルトコンテキストを変更することで,InOut$Lineのようなセッション変数の値が実質的に局所化される.
  • CellContextは,TemplateBox[{shift, return}, Key1, BaseStyle -> {Notes, FontWeight -> Plain, FontFamily -> Source Sans Pro}]の評価とDynamicおよび関連構造によって引き起こされる評価の両方に影響する.
  • CellContextの設定値は,セルが評価される際に使われる$Context$ContextPathのデフォルトの初期値を決定する.
  • $Context$ContextPathの値は,CellContextで定義されたコンテキストについて局所的であるとされる.これらに変更を加えた場合,その変更は同じデフォルトのコンテキストを持つすべてのセルに影響する.
  • 一般に,CellContextによって生成される各デフォルトコンテキスト別にパッケージをロードしなければならない.パッケージは一般に異なるデフォルトコンテキスト間では不可視である.
  • CellContextは,個々のセルレベルよりもスタイルシートや完全なノートブックレベルで設定されることの方が多い.
  • CellContext->Cellによって生成される典型的なコンテキスト名はCell$$n の形式である.
  • カーネルがCellContextで指定されたシンボルを含む低レベルのボックスをフロントエンドに送ると,フロントエンドはこれらのボックスの表現でこれらのシンボルを$CellContext`で修飾する.これらのボックスがカーネルに送り返す際に,フロントエンドはCellContextの現行設定を$CellContext`で置換する.
  • ドキュメントページの例題グループは,デフォルトで,CellContextCellGroupになっている.

例題

すべて開くすべて閉じる

  (3)

カスタムのCellContextでセルを作る:

このドキュメント中の例題では,例題の各グループに一意的なCellContextが使われている:

値を割り当てる:

この例題は上とは違うグループに属しており,異なるコンテキストを持つ:

前のグループで割り当てられた値は,異なるコンテキストにおける異なるシンボルに対してである:

スコープ  (5)

CellContextは,修飾されていないすべての名前の解決に影響する:

CellContextは,完全に修飾された名前あるいはすでに$ContextPathにある名前には影響しない:

CellContextは,$Context$ContextPathのデフォルト値に影響する:

動的評価はCellContextの影響を受ける:

コンテキストを変更する関数は通常通り動作する:

ノートブックに特有のコンテキストを設定する:

セルグループに特有のコンテキストを設定する:

個々のセルに特有のコンテキストを設定する:

特性と関係  (2)

DynamicBoxおよび関連する低レベルの構造は$CellContext`を使ってCellContextを表す:

直接式を表す他のボックスも$CellContext`を使う:

$CellContext`を使ってボックスの複製コピーをペーストすると,局所的に指定されたコンテキストが使われる:

考えられる問題  (1)

CellContextは,通常のトップレベルのセルに設定できる:

インラインセルに対する設定はトップレベルの設定のために無視される:

Wolfram Research (2007), CellContext, Wolfram言語関数, https://reference.wolfram.com/language/ref/CellContext.html (2024年に更新).

テキスト

Wolfram Research (2007), CellContext, Wolfram言語関数, https://reference.wolfram.com/language/ref/CellContext.html (2024年に更新).

CMS

Wolfram Language. 2007. "CellContext." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2024. https://reference.wolfram.com/language/ref/CellContext.html.

APA

Wolfram Language. (2007). CellContext. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/CellContext.html

BibTeX

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

BibLaTeX

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