次のような JSL スクリプトがあります。
変数 toJournal に格納される関数があります。
toJournal = Function({},
//some commands
);
新しいスクリプト メッセージ内でこの関数を呼び出したいです。
("save presentation",
toJournal();
journal << save presentation();
);dt << New Script
ただし、メイン スクリプトで名前のデフォルトを here(1) として使用する名前スコープのため、データ テーブルでプレゼンテーション スクリプトの保存ボタンを実行するときに関数 toJournal が認識されません。
データ テーブル スクリプト ボタンを押したときに、関数の内容 (テキスト内) を新しいスクリプトに挿入して評価できるように、Name Expr またはその他のコマンドを使用したいと思います。
たとえば、関数定義を Expr() でラップしたり、Expr、Name Expr を使用したりなど、さまざまなオプションを試しましたが、うまくいきませんでした。
dt << New Script( "Save Presentation All",
Eval Expr(Name Expr(toJournal));
jj << save presentation();
);
どなたか助けていただければ幸いです
このように試してみてください。
Names Default To Here( 1 );
dt = Data Table( "Big Class" );
toJournal = Function( {},
Print( "Hello, world!" )
);
Eval( Eval Expr( dt << New Script( "Guess What", Expr( Name Expr( toJournal() ) ) ) ) );
