DocumentTools[RunWorksheet] - プロシージャとしてワークシートを実行する
|
使い方
|
|
RunWorksheet(ws, var_init)
|
|
パラメータ
|
|
ws
|
-
|
string ; 実行対象のワークシートを含むファイル名
|
var_init
|
-
|
(オプション) list(symbol=anything);symbol = expression 形式の方程式のリストであり、ws 内の対応する変数の初期値を指定します
|
|
|
|
|
モデルの説明
|
|
|
重要:この関数は試験的なものであり、変更する場合があります。
|
•
|
RunWorksheet 関数は、ワークシート ws を procedure であるかのように呼び出します。var_init パラメータの方程式の左辺に表示される変数は 、それに対応する右辺の値に初期化されます。
|
•
|
ワークシートのファイル名 ws は、currentdir の値に対して完全に適格なものか、その値に関連したものとすることができます。
|
•
|
呼び出されたワークシート ws は、ドキュメントのプロパティ(Document Properties) の中で、割り当て文を使って var_init で与えられた変数を初期化するセクションを識別しなければなりません。具体的には、ドキュメントのプロパティ 内で、Attribute Name(属性名)で InputSectionTitle に属性が指定されている必要があり、その値はセクション名となります。
|
|
ワークシート ws のこのセクションには、var_init 内の方程式の左辺に表示される各変数の割り当て文が 1 つ以上必要です。この割り当て文は割り当ての演算子(:=)を使用する必要があり、各実行グループ内に表示される唯一の文となるべきです。(このセクション内に、他の割り当て、または他の Maple の計算がある場合もあります。)
|
•
|
呼び出されたワークシート ws が(プロシージャ内ではない)最上位レベルの return 文を含む場合、return 文で与えられた式は RunWorksheet コマンドの出力として返されます。呼び出されたワークシート ws の実行は、最上位 return が評価される際に停止します。
|
•
|
呼び出されたワークシート ws にこのような最上位の return 文が含まれない場合、RunWorksheet コマンドには出力が発生しません。つまり、RunWorksheet の呼び出しの値は NULL になります。
|
•
|
呼び出されたワークシートは "headless"を実行します。つまり、ユーザーインターフェイスには表示されません。
|
•
|
呼び出されたワークシートは新しいエンジンで実行されるため、それに続く評価が呼び出しワークシート内のエンジンの状態に左右される可能性のある式は、var_init で指定することはできません。これには、(たとえば、本体でグローバル変数または環境変数を使用する) 字句的に閉じられていない(not lexically closed)プロシージャおよびモジュールが含まれます。呼び出しワークシートの別の場所で定義されたプロシージャ、table, matrix, vector, または array を渡すには、まず、eval を式に適用する必要があります。たとえば、var_init 内で g = eval(f) を使用しますが、このとき f はユーザーが定義したプロシージャです。
|
|
|
RunWorksheet を使用した例
|
|
1.
|
Inputs というタイトルの付いたセクションを含むワークシートを作成します。このセクションで以下の割り当てを入力します(各実行グループ内で入力)。
|
2.
|
この行に Calculation というタイトルの付いたセクションを作成します。
|
3.
|
[ファイル]メニューで、[ドキュメントのプロパティ]を開きます。新しい属性 InputSectionTitle を追加します。値(Value)の項目には Inputs を入力します。
|
4.
|
このワークシートを、test.mw として現在のディレクトリに保存します。
|
5.
|
別のワークシートで、以下のコマンドを実行してワークシートを実行します。
|
>
|
DocumentTools[RunWorksheet]( "test.mw", [a=-1, b=4] );
|
| (4.1) |
•
|
必ずしも呼び出されたワークシートの入力セクションに表示される変数のすべて(またはどれか)の値を入れる必要はありません。(しかし、その入力セクション内の割り当て文 の左辺に表示されていない変数の値を入れようとするのは誤りです。)
|
|
|
Download Help Document
Was this information helpful?