大規模な Mathematica プロジェクトでの数値と解析の「モード」の切り替えに関する以前の質問に対する解決策を考えてContext
いたとき、スコープ構造として を使用するというアイデアについて考えました。
基本的な考え方は、すべての数値の割り当てを独自のコンテキストで行うことです。たとえば、
Begin["Global`Numerical`"]
par1 = 1;
par2 = 2;
...
End[]
そして、すべての複雑な分析機能、マトリックスなどをグローバル コンテキストで備えています。
理想的には、グローバル コンテキストで作業し、すべてを単純な数値にBegin[Global'Numeric']
切り替えて、元に戻すことができEnd[]
ます。
残念ながら、これは機能しません。たとえばf[par1_,par2_,...] := foo
、グローバル コンテキストで定義されたものは、グローバルのサブ コンテキストで定義された 、などをpar1
使用しないためです。par2
サブコンテキストに親コンテキストから定義を継承させる方法はありますか? コンテキストを使用して単純な切り替え可能なスコープを作成する他の方法はありますか?