변수 값을 새 스크립트에 저장하는 방법안녕,
메타데이터를 테이블에 저장하려고 하므로 다음에 파일을 열면 테이블을 만들 때 사용한 일부 변수를 사용할 수 있습니다.
현재 문자열만 테이블에 메타데이터로 저장할 수 있다는 것을 알고 있습니다.
내가 시도한 다른 옵션은 필요한 변수를 포함할 테이블에 새 스크립트를 저장하는 것입니다.
문제는 변수 이름 대신 변수 값을 추가하는 방식으로 "스크립트 저장"을 사용하는 방법을 이해하지 못한다는 것입니다.
예를 들어 나는 이것을 시도했다 :
x = expr (a = [1,2,3]);
dt << New script ("test",char (x));- char(x)가 포함된 스크립트가 생성됩니다.
내가 생각할 수 있는 모든 expr/eval/parse 조합을 시도했지만 도움이 되지 않았습니다.
새 스크립트 "test"에 다음이 포함되기를 원합니다.
= [1,2,3]
하지만 스크립트를 작성할 때는 물론 a의 실제 값을 모릅니다.
미리 감사드립니다
스크립팅Re: 새 스크립트에 변수 값을 저장하려면 어떻게 해야 하나요?저는 evalinsert와 eval(parse())를 사용하는 것을 좋아합니다.
dt = New Table( "Untitled 8",
Add Rows( 2 ),
New Column( "Column 1", Character, "Nominal", Set Values( {"a", "b"} ) )
);
a1 = "a = [1, 2, 3]";
b1 = evalinsert("\[dt << new script("test", ^a1^)]\");
eval(parse(b1));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;
Re: 새 스크립트에 변수 값을 저장하려면 어떻게 해야 하나요?당신의 도움을 주셔서 감사합니다.
"eval (eval expr(".."))" 사용 옵션을 놓쳤습니다.
내가 마지막으로 사용한 방법은 다음과 같습니다.
a = {1,2,3};
Eval(Eval Expr(dt << New script ("test",
a = expr (a);
)));이렇게 하면 새 테스트 스크립트에 "a = {1,2,3};"이 포함됩니다. 이것이 제가 원하는 것입니다.
다시 한 번 감사드립니다.
Re: 새 스크립트에 변수 값을 저장하려면 어떻게 해야 하나요?안녕,
이것이 당신이 찾고 있는 것을 합니까?:
x = expr ("a = [1,2,3]");
eval(eval expr(dt << New script ("test",char (expr(parse(x))))));