PythonとJSL関数JMP の Python から: データフレーム列からデータテーブル列へのベスト プラクティスと計算速度への影響私はこの新しい便利な関数について知りました:
import jmp
jmp.globals['pi'] = 3.1415927
jmp.globals['bB'] = 'Bumble Bee'
print( jmp.globals.items() )
JSL名前空間で変数を定義する - Python の Get()のプッシュバージョンのように
いくつか制限があります。例えば、現時点ではjmp.globals はJSL 関数を認識しません。
::f= function({x},x);
x="hello";
y=5;
z={1,2,3};
aa= associative Array({1,2});
Python Submit("
import jmp
print(jmp.globals)");
応答:

関連する問題でしょうか?:
次の JSL コードを使用して、run_jsl 経由で関数を作成しようとします。
import jmp
jmp.run_jsl('x="hello";Caption(x)') # OK
jmp.run_jsl('f= function({x},x)') # crash
…クラッシュにつながる!?
コードを行ごとに実行すると、次のエラー メッセージが表示されます。

自動化とスクリプトRe: Python & JSL関数バグです。JMP 19?
私のマシンでは異なるエラー メッセージが表示されますが、run_jsl() は単なる割り当てではなく、eval(f = function({x},x)) が行われているかのように動作しているようです。

JSL から実行するだけで、Python で見ていたものを再現できました。
Re: Python & JSL関数はい、 @hogiさんはJMP 19.0.1を使用しています。彼はサポートにメールを送り、これが既知のバグかどうかを尋ねました。
Re: Python & JSL関数JMP19 および JMP19.0.1 (Windows バージョン) でも同じ問題が発生します。
JMP 18 では問題はありません。
興味深いですね
eval(f = 関数({x},x))
は異なる
f = 関数({x},x)。
つまり、引数の戻り値を評価する前に引数を評価するということですか?
Eval(print(1);Parse("print(2)"));
大きく異なる点:
- Python コードを使用すると、私のシステムでは JMP がクラッシュします (Win と Mac で違いがあるのでしょうか?)
- eval(f = function({x},x)) を実行すると、JMP は JMP アラートを表示して動作を続行します。
