テーブル変数内でテーブル変数を参照する方法最初の 2 つの変数を作成した後、angleRefY 変数と angleRefX 変数を静的な数値によって zeroX と zeroY からオフセットさせたいと思います。 以下に示すように、私はこれをいくつかの異なる方法で実行しようとしました。

数値を生成する唯一の方法はこのスクリプトでしたが、変数は QQ+1 ではなく 6 になるため、依然としてリンクされていません。
dt << Set Table Variable("TT", dt:QQ + 1);どうすればこれができるか知っている人はいますか? 動的参照として、zeroX = 何らかの数値、zeroY = 何らかの数値、angleRefX = zeroX + 何らかの数値、および angleRefY = zeroY + 何らかの数値が理想的です。
Re: テーブル変数内でテーブル変数を参照する方法いつでも変数をグローバル名前空間に投げて、それを参照することができます。
Re: テーブル変数内でテーブル変数を参照する方法さて、それでは行きます。 文字列値のみを格納できる場合、それを動的参照にすることができないことは明らかです。 テーブルスクリプトを実行するのは理にかなっています。 これも 1 回余分にクリックするだけですが、悪くはありません。 お手伝いありがとう!!Re: テーブル変数内でテーブル変数を参照する方法ジム、
テーブル変数が文字であるというヒントをありがとう。 これは間違いなく、知らないと髪の毛を抜くような問題に遭遇することになります。
もう一つちょっとした追加。場合、dt:QQ="51";次に、このように dt:QQ をラップすると、num(dt:QQ) は「51」ではなく 51 を返します。 ただし、dt:QQ が数値でない場合は、欠落値が返されます。
これに代わる方法としては、
if ( dt:TT == "51", show("success"), show("didn't quite work"));
これは次のようなもので、dt:TT が数値の場合に機能します。
if ( num( dt:TT ) == 51, show("success"), show("didn't quite work"));Re: テーブル変数内でテーブル変数を参照する方法テーブル変数は、保存された単なる文字列です。たとえ QQ の値が機能したとしても、IF ステートメントが true になることはあり得ません。
if ( dt:TT == 51, show("success"), show("didn't quite work"));
dt:TT の値が 51 になることはありません。すべてのテーブル変数は文字列になるため、IF ステートメントが機能するには、次のように記述する必要があります。
if ( dt:TT == "51", show("success"), show("didn't quite work"));
これはスクリプト ガイドのドキュメントです
Table Variables
Table variables are for storing a single text string value, such as “Notes”. To understand how
variables work, first get its existing value by sending a Get Table Variable message:
dt = Open( "$SAMPLE_DATA/Solubility.jmp" );
dt << Get Table Variable( "Notes" );
"Chemical compounds were measured for solubility in different solvents. This
table shows the log of the partition coefficient (logP) of 72 organic
solutes in 6 aqueous/nonpolar systems."
Now change the existing value of the string using Set Table Variable and then use Get
Table Variable again to check that the string has been updated:
dt << Set Table Variable( "Notes", "Solubility of chemical compounds" );
dt << Get Table Variable( "Notes" );
"Solubility of chemical compounds"
The following example adds two new table variables to a data table:
dt = Open( "$DOCUMENTS/Big Class.jmp" );
myvar = "This is my version of the JMP Big Class sample data.";
dt << Set Table Variable( "key1", myvar );
dt << Set Table Variable( "key2", myvar );
Notice that setting the value creates a new variable only if one by the given name does not
already exist. If you add two table variables with the same name, only one variable is created.
テーブル スクリプトを使用して希望することを行うこともできますが、最初にテーブル変数 QQ を設定してから、TT を更新するテーブル スクリプトを実行する必要があります。
Re: テーブル変数内でテーブル変数を参照する方法これにより静的オフセットが作成されます。目標は動的オフセットであることをもっと明確にする必要がありました。 たとえば、QQ が 43 に再割り当てされた場合、目標は TT が自動的に 44 に解決されるようにすることです。
以下は、変数が実際に動的であるかどうかを出力するコードの適応です。
names default to here(1);
dt=new table("Example", add rows(3),new column("Sample", values([1,2,3])));
dt << new table variable("QQ", 42 );
dt << New Table Variable("TT", eval(num(:QQ) + 1));
wait(0);
dt << set table variable("QQ", 50);
if ( dt:TT == 51, show("success"), show("didn't quite work"));Re: テーブル変数内でテーブル変数を参照する方法以下に簡単な例を示します。コードはほぼ同じで、すべてのテーブル変数が文字であることを理解するだけで済みました。また、dt はすでにメッセージのオブジェクトであるため、テーブル変数を参照するために必要なのは :QQ を使用することだけです。
names default to here(1);
dt=new table("Example", add rows(3),new column("Sample", values([1,2,3])));
dt << new table variable("QQ", 42 );
dt << New Table Variable("TT", num(:QQ) + 1);