GraphBox の数は可変です。クリックを送信する GB を識別するにはどうすればよいでしょうか?nw = new window("graphs", vlb = v list box());
dirname = "jpegs";
set default directory(dirname);
foreach({jpeg}, files in directory(dirname), // dexter.jpg, samurai_jack.jpg, spongebob.jpg
img = new image(jpeg);
msg = eval insert("\!"^jpeg^\!"");
h = graphbox(
<<ADD image=""></ADD>The above gives me
3 graphboxes :white_heavy_check_mark:</img>with three correctly rendered images, :white_heavy_check_mark:</img>but StatusMsg always sends "Spongebob.jpg". (Without the evalinsert(), just sending jpeg to StatusMsg, it throws an error.)
I want StatusMsg to give me the name of the image whose graphbox I clicked on.
Basically, I can kinda sorta imagine two routes:
1. Eval and related functions? I still haven't dug into that side of JSL very deeply.
2. Xpath? Maybe log the image name in a List; index will correspond with the frame box number.
<LINGO-LABS id="lingo-labs-797481" slang="en-US" mode="UPDATE"><LINGO-LABEL>自動化とスクリプト</LINGO-LABEL></LINGO-LABS>Re: GraphBox の数が可変です。クリックを送信している GB を識別するにはどうすればよいでしょうか?ユーザーが画像をクリックするたびに、マウストラップは呼び出し命令を受け取ります
statusmsg( variablename)
So: it will execute statusmsg( variablename), check for the current content of variablenamea and display it.
気づいて試みたように、何らかの方法で変数を強制的に評価する必要があります。
問題:
結果を別の変数 ( msg ) に保存すると、同じ問題が発生します (変数名が異なるだけです)。
やりたいこと:
すべての画像について、画像名とトリガーを事前に評価します。例:
statusmsg("samurai_jack.jpg")90% のケースでは、この事前評価はEval(Eval Expr()) を介して実行できます。
残りのものについては、 Eval(Substitute())を使用します。
JMP での式の処理: Tipps と Trapdoors
Eval (Eval Expr( h=graphbox(
<<ADD image=""></ADD>
Re: GraphBox の数が可変です。クリックを送信している GB を識別するにはどうすればよいでしょうか?笑 わかったよ
foreach({jpeg}, files in directory(jpegs),
img = new image(jpeg);
h = Eval(
Eval Expr(
graphbox(
<<ADD image=""></ADD>It's not clear to me why `jpeg` needs the expr() and `img` doesn't, though. Both of those vars are 'born' on a per-loop basis
Re: GraphBox の数が可変です。クリックを送信している GB を識別するにはどうすればよいでしょうか?はい、これは JSL では大きな問題です。残念ながら、どの引数が評価され、どの引数が単に「転送」されるかを示すドキュメントはありません。また、それを見つけるのがまったく簡単ではない場合もあります。
ヘッドは自身の議論を評価しているのでしょうか?
JMP サポートに、引数を評価する関数と評価しない関数の公式リストを問い合わせました。残念ながら、そのようなリストはありません。
別のアプローチ: JSL エディターで高度な構文強調表示を使用します - 関数は引数を評価しますか?
次のリリースのいくつかで実装されることを期待しています...。
実際、JSL の多くの (!!!) 関数は、使用前に引数 (の一部) を評価しません。
このアプローチは非常に強力です!
「転送されたばかり」の最も顕著な例:
New column (.... Formula(<U>Expression gets just transferred</U>))
マウストラップについても同様です。
もう一度考えてみると、引数を評価しないというのは JMP の非常に親切なことです : )
コードを実行した瞬間ではなく、ユーザーが画像をクリックするたびにステータス メッセージを変更する必要があります。
一方、ウィンドウに画像を追加するには、JMP で画像ファイルを開く必要があります。そのためには、変数を調べる必要があります。
注意: 場合によっては、引数を Eval(引数) に置き換えると役立つことがあります。
時々。
ここでは:いいえ。