Graph Builder スクリプトを Run Script() で実行するとカスタム関数が認識されないが、手動で実行すると正常に動作する。カスタムJSL関数を作成し、グローバル環境にロードしました。次に、Graph Builderインターフェースで「カスタムスクリプト」機能を使用して、この関数をグラフスクリプトに組み込みました。その後、Graph Builderスクリプトをデータテーブルに(テーブルスクリプトとして)保存しました。
データテーブルからGraph Builderスクリプトを手動で実行すると(テーブル上のスクリプトボタンをクリックして)、すべてが完璧に動作します。カスタム関数が認識され、グラフが正しく生成されます。
しかし、同じテーブルスクリプトをプログラムで実行しようとすると、 Run Script() 関数 (例: dt << Run Script("Graph Builder")) スクリプトはカスタム関数が見つからないため失敗します。 Run Script() スクリプトを、グローバルに定義された関数にアクセスできない隔離されたコンテキストで実行します。
names default to here(1);
dt=current data table();
dt<
<RUN script=""></RUN>
<P><SPAN class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="AggregateHare95_0-1781704169868.png" style="width: 400px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="AggregateHare95_0-1781704169868.png" style="width: 400px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="AggregateHare95_0-1781704169868.png" style="width: 400px;"><span class="lia-inline-image-display-wrapper" image-alt="AggregateHare95_0-1781704169868.png" style="width: 400px;"><img src="https://us.v-cdn.net/6038925/uploads/images/106823i91CFAE42C2887E25/AggregateHare95_0-1781704169868.png" role="button" title="AggregateHare95_0-1781704169868.png" alt="AggregateHare95_0-1781704169868.png" /></span></SPAN></SPAN></SPAN></P> <P class="ds-markdown-paragraph"><SPAN class="">興味深いことに、JMPに組み込まれている関数は問題なく認識されるのに、私が定義した関数は認識されない。</SPAN></P> <P class="ds-markdown-paragraph"><SPAN class="">他にこの現象に遭遇した人はいますか?<SPAN> </SPAN></SPAN><CODE>Run Script() テーブルスクリプトを同じグローバル名前空間で実行すれば、カスタム関数が見えるようになるのでしょうか?何か回避策や説明があれば大変助かります。
<LINGO-LABS id="lingo-labs-954243" slang="en-US" mode="CREATE">
<LINGO-LABEL>自動化とスクリプト作成</LINGO-LABEL>
</LINGO-LABS>
件名:Graph BuilderスクリプトをRun Script()で実行するとカスタム関数が認識されないが、手動で実行すると動作するテーブルスクリプト内の関数呼び出しの前に「::」(または「global:」)を付けることで、グローバル名前空間から関数にアクセスできます。また、関数に「新規カスタム関数 /名前付き名前空間」を使用し、それに応じてテーブルスクリプトを修正することも検討してください。
件名:Graph BuilderスクリプトをRun Script()で実行するとカスタム関数が認識されないが、手動で実行すると動作するありがとう!君は天才だよ。こんなに簡単な解決策なのに、完璧にうまくいった。