테이블 변수 내에서 테이블 변수를 참조하는 방법처음 두 개의 변수를 만든 후 angleRefY 및 angleRefX 변수를 정적 숫자로 0X 및 0Y에서 오프셋되도록 만들고 싶습니다. 아래에서 볼 수 있듯이 몇 가지 다른 방법으로 이 작업을 수행하려고 했습니다.

숫자를 생성하는 유일한 방법은 이 스크립트였지만 변수는 QQ+1 대신 6이 되므로 여전히 연결되지 않습니다.
dt << Set Table Variable("TT", dt:QQ + 1);이것이 어떻게 이루어질 수 있는지 아는 사람이 있습니까? 이상적으로는 zeroX = 어떤 숫자, zeroY = 어떤 숫자, angleRefX = zeroX + 어떤 숫자, angleRefY = zeroY + 어떤 숫자를 동적 참조로 사용합니다.
Re: 테이블 변수 내에서 테이블 변수를 참조하는 방법언제든지 변수를 전역 네임스페이스에 던져서 참조할 수 있습니다.
Re: 테이블 변수 내에서 테이블 변수를 참조하는 방법그럼 됐어요. 문자열 값만 저장할 수 있다면 동적 참조로 사용할 수 없다는 것이 분명해 보입니다. 테이블 스크립트를 실행하는 것이 합리적입니다. 한 번의 추가 클릭으로도 나쁘지 않습니다. 도와 주셔서 감사합니다!!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 진술은 결코 사실이 될 수 없습니다.
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: 테이블 변수 내에서 테이블 변수를 참조하는 방법다음은 간단한 예입니다.귀하의 코드는 매우 가깝습니다. 모든 테이블 변수가 문자라는 점을 이해하기만 하면 됩니다. 그리고 테이블 변수를 참조하기 위해 해야 할 일은 :QQ를 사용하는 것뿐입니다. 왜냐하면 dt는 이미 메시지의 객체이기 때문입니다.
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);