JSL 脚本 - 运行/粘贴后注释和空白消失大家好,
我有一个相当长的 JSL 脚本(约 500 行)。 它收集用户输入,然后从脚本所在的数据表创建图表。
然而,我遇到了一个奇怪的问题。 有时,在使用脚本窗口中的绿色箭头(而不是打开编辑器的“运行”按钮)运行脚本后,当我打开脚本备份时,脚本中的所有注释和空格都消失了。 当我使用编辑器中的“运行”按钮运行脚本时,不会发生这种情况。
我不明白这是否是因为脚本太长并且 JMP 正在尝试压缩它/重新格式化它,但我想保留评论。 该脚本仍然可以以这种重新格式化的形式运行,但看起来非常混乱。
该脚本最近才开始这样做,在我看来,它似乎与长度密切相关,但我可能遗漏了一些东西。
我唯一的其他线索/信息是,当脚本中的命令失败时,几乎总是会导致脚本丢失其注释/空格。 IE 如果我使用变量 (:Batch #) 创建一个图表,但没有名为“Batch #”的列,这将导致脚本丢失其注释/空格
有没有人经历过这种情况,或者知道可能是什么原因造成的?
谢谢!
当我尝试将脚本从一个数据表直接复制到另一个数据表时,也会发生同样的行为;因为它是我必须手动复制文本并粘贴它。
回复:JSL 脚本 - 运行/粘贴后注释和空白消失感谢您的追踪! 我将为此输入一份报告。
回复:JSL 脚本 - 运行/粘贴后注释和空白消失大家好,
我想通了这个问题。 当您更改列的名称,或者 JMP 尝试通过脚本访问不存在的列时,数据表中的所有脚本都将被评估并重新格式化。 即,如果我有一个命令为plot(:name("time")),则该命令将被计算为plot(:time)。
令人烦恼的是,在我看来,如果我将列重命名为“时间”,这将会改变。 如果我将“time”的名称更改为“Times”,它也会更新脚本。 绘图命令现在将为plot(:times),因此即使已重命名,它仍然引用原始列。
对于特定的应用程序来说,有时这绝对是一件好事,因为它会停止进度。
只是想分享,这样如果有人看到这个他们就知道问题是什么。
回复:JSL 脚本 - 运行/粘贴后注释和空白消失我对我所观察到的情况有一些更新;
1. 仅当发生错误时,并且仅在未打开编辑器的情况下运行脚本时,脚本才会重新格式化并丢失其注释/空格。 当编辑器打开时,脚本不会被重新格式化。
2. 如果没有发生错误,脚本将按预期运行,无需重新格式化,无论其运行方式如何或编辑器是否打开
3. 重新格式化的脚本基本上看起来像调试器窗口中出现的版本,有一些符号不同
不确定这是否有帮助,但我认为信息越多越好!