スクリプト変数を新しいスクリプトに渡すやあ、
基本的に、for ループを使用して複数のスクリプトをデータ テーブルに埋め込もうとしています。
For( SV = 1, SV <= N Items( CL ), SV++,
DT2 << New Script(
Char(SV),
For( x = 7, x <= N Items( ColLst ), x++,
:Column(Char(ColLst[x])) << Hide (1);
);
For( w = 1, w <= N Items( Lst ), w++,
:Column(Char(CL[SV][w])) << Hide (0);
);
);
);問題は、これらのスクリプトの 1 つを実行すると、SV が何であるかがわからないことです。 メイン スクリプトから SV を取得し、それを新しいスクリプトに設定する方法が必要です。 たとえば、SV を 1 に置き換えると、埋め込まれたスクリプトはすべて SV == 1 のように機能するため、For ループで SV をそのスクリプトの正しい値に「設定」する必要があります。
うまくいけば、これは何らかの意味を持ちます。
Re: スクリプト変数を新しいスクリプトに渡す一般に、このメソッドを使用して変数をスクリプトに渡すことができます。
Eval (eval expr(
dt << New script (
"name",
Bivariate(
Y(expr(col_var)),
X(expr(col_list_var))
)
)
));
Re: スクリプト変数を新しいスクリプトに渡すこれを試して:
For( SV = 1, SV <= N Items( CL ), SV++,
Eval(Parse(Eval Insert("DT2 << New Script(
Char(SV),
For( x = 7, x <= N Items( ColLst ), x++,
:Column(Char(ColLst[x])) << Hide (1);
);
For( w = 1, w <= N Items( Lst ), w++,
:Column(Char(CL[^SV^][w])) << Hide (0);
);
);"
)));
);
Re: スクリプト変数を新しいスクリプトに渡す私は試した:
For( SV = 1, SV <= N Items( CL ), SV++,
DT2 << New Script(
Char(SV),
For( x = 6, x <= N Items( ColLst ), x++,
:Column(Char(ColLst[x])) << Hide (1);
);
For( w = 1, w <= N Items(
Eval(
Eval Expr(
Expr(
CL[
Eval(
Eval Expr(
Expr(SV)
)
)
]
)
)
)
), w++,
:Column(
Char(
Eval(
Eval Expr(
CL[
Eval(
Eval Expr(
Expr(SV)
)
)
][w]
)
)
)
) << Hide (0);
);
);
);エラーは次のとおりです。
Subscript Range in access or evaluation of 'Subscript' , CL[/*###*/Eval( Eval Expr( Expr( SV ) ) )]
Re: スクリプト変数を新しいスクリプトに渡す使ってみてEval( Eval Expr(...Expr(SV)...)) SV (および必要に応じて CL) の事前評価を強制します。