關於“(Eval(Eval Expr(Sum(Expr(sumCol))))== N Items(sumCol)=> 1”語句的問題。尊敬的先生,
我正在調試如下所示的 if 語句。我想知道它對什麼進行評估,以及它是否會從“(Eval(Eval Expr(Sum(Expr(sumCol))))== N Items(sumCol)”的未知狀態生成“1”

請告訴我。
謝謝,
約翰
腳本編寫回复:關於“(Eval(Eval Expr(Sum(Expr(sumCol))))== N Items(sumCol)=> 1”語句的問題。強烈建議查看這篇關於使用 Eval Insert、Eval Expr、Parse 和 Substitute 將一個表達式插入到另一個表達式中.
Names Default To Here(1);
sumCol = [1,1,1];
//check in parts
Show(Eval Expr(Sum(Expr(sumCol))));
Show(Eval(Eval Expr(Sum(Expr(sumCol)))));
Show(N Items(sumCol));
Show(If(Eval(Eval Expr(Sum(Expr(sumCol))))== N Items(sumCol),1,0));
回复:關於“(Eval(Eval Expr(Sum(Expr(sumCol))))== N Items(sumCol)=> 1”語句的問題。你知道你真正想要做什麼嗎?
我的猜測是你有一個腳本,人們試圖將變量 `sumCol` 放入公式中。像
Names default to here( 1 );
dt = open("$SAMPLE_DATA\Big Class.jmp");
sumCol = dt:weight << Get Values();
dt << New Column("test", Formula(if(Eval(EvalExpr(Sum(Expr(sumCol))))==Nitems(sumCol), 1, 0)));
// What I think you'd want to do is
Eval(EvalExpr(
dt << New Column("Test 2", Formula(Sum(Expr(sumCol)) ==Nitems(Expr(sumCol))));
// or
dt << New Column("Test 3", Formula(
fsumCol = Expr(sumCol);// this is just letting the formula know what it is
Sum(fsumCol) == Nitems(fsumCol);
));
));
// you don't need the if, 1, 0 because you're boolean will eval to 1 anyway.