32_ko-KR
스크립팅: 인용된 문자열에서 Name 개체를 얻는 방법은 무엇입니까?런타임 변수에 인용된 문자열로 테이블 변수 이름이 있다고 가정합니다. 테이블 변수 Name 개체를 어떻게 가져오나요?
테이블 열과 관련해 이와 동일한 문제가 있었는데, 테이블 열 이름 목록을 가져오고 문자열과 일치하는 Name 개체를 찾을 때까지 반복하여 해결할 수 있었습니다. 불행하게도 테이블 변수를 반환하는 함수가 없는 것 같아서 이 방법은 작동하지 않습니다.
배경:
이것의 목적은 열에 수식을 포함할 수 있는 재사용 가능한 라이브러리를 갖는 것입니다. 재사용 코드는 테이블 변수 이름이나 열 이름을 모르기 때문에 이를 문자열 매개변수로 함수에 전달해야 합니다. 그러나 수식을 작성할 때 문자열 변수를 사용하면 결과는 열이나 테이블 변수에 대한 참조 대신 따옴표로 묶인 문자열이 됩니다.Re: 스크립팅: 인용된 문자열에서 Name 개체를 가져오는 방법은 무엇입니까?다음을 사용하여 문자열에서 테이블 변수의 값을 가져올 수 있습니다.
x = 현재 데이터 테이블() << 테이블 변수 가져오기( "선생님" );
그리고 다음을 사용하여 열의 값을 얻을 수 있습니다.
x = 열("높이")[ 1 ];
표현식은 보다 복잡한 메타 프로그래밍(JSL을 조작하는 JSL)에 사용될 수 있지만 문자열로 시작하므로 Parse() 및 Eval()을 사용하는 것이 더 나을 수 있습니다. 예를 들어 다음은 함수 이름 문자열을 가져와서 함수 이름으로 처리합니다.
s = "sqrt"; x = Eval( 구문 분석( s || "(2)" ));제목: 스크립팅: 따옴표로 묶인 문자열에서 Name 객체를 얻는 방법은 무엇인가요?Parse() 함수가 바로 제가 필요했던 명령어였어요. 일주일 전에 알았더라면 얼마나 좋았을까요! 
감사해요!
수정: 제가 너무 성급하게 말했네요. 테이블 변수 이름에 괄호가 포함되어 있으면 Parse() 함수가 작동하지 않습니다. (예: "Width (mm)") 이 부분은 좀 더 생각해 봐야겠습니다.
DaveS님이 메시지를 수정했습니다.제목: 스크립팅: 따옴표로 묶인 문자열에서 Name 객체를 얻는 방법은 무엇인가요?효과적인 방법을 알아냈어요:
-----------------------------스크립트 시작-----------------------------
전역 변수를 초기화합니다();
로그 지우기();
MyParse = 함수(
{sName}, {기본 로컬},
ex = "이름(xxx)";
newStr = "\!"" || sName || "\!"";
retVal = Munger(ex, 0, "xxx", newStr);
retVal = Parse(retVal);
);
str = "너비(mm)";
name = MyParse(str);
표시(이름);
-----------------------------스크립트 끝-----------------------------
당연히 이 방법은 이름으로 이루어진 문자열만 파싱할 수 있습니다. 도움 주셔서 감사합니다!
Comments
There are no comments yet