RE:If语句评估True和False嗨,
我想知道为什么在下面的if语句中,当我运行脚本时,语句的两个部分都被执行了?它以某种方式评估声明是真还是假。
For (k = 1, k <= N Rows(dx), k++,
Current Data Table (dt);
q = k-1;
For Each Row(
If(dt:colAutomatically <= colManuallyEnd[k] & dt:colAutomatically >= colManuallyStart[k], dt:newInstructionsColumn = colInstructions[k], print("No"));
);
);如果为true,则应执行以下行:
dt:newInstructionsColumn = colInstructions[k]
如果为false,则应执行以下行:
print("No")任何帮助,将不胜感激。
RE:If语句评估True和False可能导致麻烦的一行是这样的:
Current Data Table( dt );
如果您的任何变量引用其他表列(如dx表),我不确定当前数据表实际上是什么。 使用他们所在的表来限定所有列更安全。 例如,colManuallyEnd指向哪里?
colManuallyEnd[k]
我怀疑它是dx表中的一列。 也许更安全
dx:colManuallyEnd[k]
如果确实有一个名为colManuallyEnd的列。
否则就像Jim建议的那样在你的循环中放入一堆print语句。
RE:If语句评估True和False尝试使用此代码检查发生了什么
For( k = 1, k <= N Rows( dx ), k++,
Current Data Table( dt );
q = k - 1;
For Each Row(
If( dt:colAutomatically <= colManuallyEnd[k] & dt:colAutomatically >= colManuallyStart[k],
dt:newInstructionsColumn = colInstructions[k];
Print( "\!nYes ", Row(), " ", dt:newInstructionsColumn[Row()] );
,
Print( "\!nNo ", Row() )
)
);
);