새 스크립트에 변수 값 저장하는 방법안녕,
메타 데이터를 테이블에 저장하려고하므로 다음에 파일을 열 때 테이블을 만들 때 사용한 일부 변수를 사용할 수 있습니다.
현재는 문자열 만 테이블에 메타 데이터로 저장할 수 있음을 이해합니다.
내가 시도한 다른 옵션은 필요한 변수를 포함 할 테이블에 새 스크립트를 저장하는 것입니다.
문제는 변수 이름 대신 변수 값을 추가하는 방식으로 "스크립트 저장"을 사용하는 방법을 이해하지 못한다는 것입니다.
예를 들어 나는 이것을 시도했다.
x = expr (a = [1,2,3]);
dt << New script ("test",char (x));결과적으로-char (x) 스크립트가 생성됩니다.
나는 내가 생각할 수있는 모든 expr / eval / parse 조합을 시도했지만 그들 중 누구도 도움이되지 않았습니다.
새 스크립트 "test"에 다음을 포함하고 싶습니다.
a = [1,2,3]
하지만 당연히 스크립트를 작성할 때 나는 a의 실제 값을 모릅니다.
미리 감사드립니다
스크립팅Re : 새 스크립트에 변수 값을 저장하는 방법안녕,
이것이 당신이 찾고있는 것을 하는가? :
x = expr ("a = [1,2,3]");
eval(eval expr(dt << New script ("test",char (expr(parse(x))))));Re : 새 스크립트에 변수 값을 저장하는 방법당신의 도움을 주셔서 감사합니다.
"eval (eval expr (".. "))"사용 옵션을 놓쳤습니다.
드디어 사용한 방식은 이렇습니다.
a = {1,2,3};
Eval(Eval Expr(dt << New script ("test",
a = expr (a);
)));이렇게하면 새 테스트 스크립트에 "a = {1,2,3};"가 포함됩니다.
다시 한 번 감사드립니다.
Re : 새 스크립트에 변수 값을 저장하는 방법약간 다르지만 반드시 더 좋은 것은 아닙니다.
NamesDefaultToHere(1);
dt = NewTable("Test");
myScript =
Expr(
a = {1, 2, 3, 4};
Speak(a);
);
addScript =
Expr(
dt << NewScript(nTBD, sTBD)
);
SubstituteInto(
addScript,
Expr(nTBD), "My Script",
Expr(sTBD), EvalExpr(myScript)
);
addScript;