我知道在 JSL 中,我可以更改各个列上的 Suppress Eval 标志,以防止评估该列的公式。这对于需要一段时间才能评估的复杂公式很有用。我可以评估一次并抑制它,但保持公式完整,以便我可以稍后返回并再次评估(如果需要)。
在某些情况下,当我执行遍历多列的操作时,我希望知道 Suppress Eval 标志的当前状态,而无需实际更改它。我找不到任何方法来提取此信息。我可以将值设置为 1 或 0,但无法切换它,也无法获取当前值。这可能吗?
Names Default To Here(1);
dt = Current Data Table();
col = Column(dt, "myColumn");
col << Suppress Eval(1); //suppresses formula eval
col << Suppress Eval(0); //un-suppresses formula eval
suppress_state = col << Suppress Eval; //does not work as expected. sets suppress eval to 1.
Show(suppress_state); //prints "suppress_state = Scriptable[]" in the log. current state not returned.
我还注意到,如果 Supress Eval 已设置为 1 并且执行“col << Supress Eval”行,则会显示以下警告:
带有空布尔参数的消息启用了已启用的选项。该选项保持启用状态。在以前的 JMP 版本中,这会禁用该选项。
因此在以前版本的 JMP 中可以切换此选项,但此功能已被删除。
我还查看了 Show Properties(col) 的输出,发现仅一处对 Supress Eval 的引用:
抑制求值 [布尔值] [仅限脚本]
所以这意味着它是一个接受布尔参数的函数,不返回值,并且只能通过脚本访问?有什么方法可以获取该值吗?
这篇帖子最初是用 English (US) 书写的,已做计算机翻译处理。当您回复时,文字也会被翻译成 English (US)。
1 个已接受解答
2 条回复2