안녕하세요 여러분,
내 코드 평가를 방해하기 때문에 추가 공백을 추가하는 Parse()를 해결하는 방법에 어려움을 겪고 있습니다.
"AA BBBB CCC(dd)"와 같은 이름의 관심 열이 있는 데이터 테이블이 있고, 제가 수행한 적합치 추정치를 시뮬레이션하려는 평가를 수행하고 있습니다. 이 작업을 수행하는 코드 섹션은 다음과 같습니다.
Eval(
Parse(
"\[report_of_interest[Number Col Box( 8 )] << Simulate(
NBSnum,
Random Seed( RSnum ),
Out( ]\"
|| YCols[1] || "\[ ),
In( :Simulated Y )
);]\"
)
);
이것은 대부분의 경우 훌륭하게 작동하지만 Parse() 명령은 변수 YCols[1]을 구문 분석할 때 추가 공백을 추가하고 그렇게 할 때 Simulate 플랫폼은 이름을 찾고 있기 때문에 열이 존재하지 않는다고 생각합니다. 여분의 공백이 있습니다. YCols[1]을 평가하면 위와 같은 열 이름이 표시됩니다: "AA BBBB CCC(dd)". 그러나 구문 분석(YCols[1])을 수행할 때 Eval()이 실행하는 실제 코드는 "AA BBBB CCC( d - d )"와 같은 이름의 열을 사용하고 있는데 이는 올바른 열이 아닙니다. Parse()가 괄호와 문자 "d" 사이에 추가 공백을 넣고 "-" 대시 문자 주위에 추가 공백을 넣기 때문에 이름이 붙여졌습니다. 위 코드의 Parse() 부분만 실행할 때 포함된 로그의 출력은 다음과 같습니다.
report_of_interest[번호 열 상자( 8 )] << 시뮬레이션(
NBS번호,
무작위 시드( RSnum ),
출력( AA BBB CCC( d - d ) ),
In( :시뮬레이트된 Y )
)
이 문제를 해결할 수 있는 방법이 있습니까? 아니면 추가 공백을 추가하지 않는 구문 분석용 문자열을 작성하는 다른 방법이 있습니까?
구문 분석을 위해 문자열을 작성하기 위해 다음 방법을 시도했지만 이로 인해 Simulate 플랫폼이 추가 공백이 있는 열 이름을 찾게 됩니다.
str = Eval Insert(
"report_of_interest[Number Col Box( 8 )] << Simulate(
NBSnum,
Random Seed( RSnum ),
Out("
);
str2 = Eval Insert( " ),
:Simulated Y )
)" );
Eval( Parse( str || ":" || Char( Eval( YCols )[1] ) || str2 ) );JSL은 추가 공백에 신경 쓰지 않지만 JMP는 열 이름에 관해서는 신경을 씁니다.
어떤 생각/아이디어도 높이 평가됩니다.
감사해요!,
DS