关于“(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.