を使用せずにセルの $ContextPath を変更するにはどうすればよいですかPrepend
:
$ContextPath = Prepend[$ContextPath, "PackageName`"]
ドキュメンテーションを調べていて$ContextPath
、そこにある最初の入力セルを評価することにしました。
評価前:
評価後:
ここでの違いは、このドキュメントが書かれているとき、WebServices
それを書いている人が有効になっていないことだと思います。Global
これは明示的に言及されているため、そのセルのコンテキストにあることがわかります。に移動して式を確認しCell > Show Expression
ます。
オプションCellContext
はグローバルに設定されています。それでは、新しいセルを作成して評価しましょう$Context
。
これは、そのセル内では、他のノートブックで作成したグローバル オブジェクトを使用できないことを意味します。セルの CellContext オプションを変更することで、グローバルを追加できます。表現と編集を見せることでこれを行います。評価すると、コンテキストがグローバルに変更されていることがわかります。さて、念のため、コンテキストをグローバルに変更したばかりのセルでこれを試してみましょう。
Print["Outside Module = ", $ContextPath]
Module[{},
Print["Inside Module = ", $ContextPath];
Manipulate[
Print["Inside Manipulate = ", $ContextPath];
Row[{
Plot[x, {x, -3, 3}, PlotRange -> {{-3, 3}, {-3, 3}}]
}],
{{p1, {-1, 2}}, Locator, Appearance -> "L1"}
]
]
あなたはこのようなものを手に入れますか:
Manipulate内でコンテキストが変わるのはなぜですか? 他のノートブックの内部では、これは起こりません。参照スタイルシートの設定に関係していると思いますが、わかりません。ドキュメント ノートブックの設定を一時的に変更して、ノートブック全体のどこでもグローバル コンテキストを使用できるようにするにはどうすればよいでしょうか?