限制每个()我对 For Each() 函数还不太熟悉,所以请耐心听我说。下面的脚本可以满足我的需要,但我想限制它作用的列。我只想对第 3 列及以上的列起作用?使用 For() 函数很简单,不知道它在这里是如何工作的?
For Each({colnames, index}, dt << Get Column Names("String"),
rows_to_color = dt << Get Rows Where((Column(dt, colnames)[]<100));
Column(dt, colnames) << Color Cells("Red", rows_to_color);
);自动化和脚本回复:限制每个()在开始查看列表之前,先删除列表中的值
Names Default To Here(1);
dt = open("$SAMPLE_DATA/Big Class.jmp");
collist = dt << Get Column Names("String");
Remove From(collist, 1, 3);
show(collist);
For Each({colnames, index}, collist,
rows_to_color = dt << Get Rows Where((Column(dt, colnames)[] < 100));
Column(dt, colnames) << Color Cells("Red", rows_to_color);
);回复:限制每个()您也可以在定义列表时在 for each 内部执行此操作,但我认为最好在之前执行此操作(更容易阅读和调试)
Names Default To Here(1);
dt = open("$SAMPLE_DATA/Big Class.jmp");
For Each({colname, index}, Remove(dt << Get Column Names("String"), 1, 3),
show(colname);
);
或者如果你之前收集过列表,你可以循环遍历特定的项目
Names Default To Here(1);
dt = open("$SAMPLE_DATA/Big Class.jmp");
collist = dt << Get Column Names("String");
For Each({colname, index}, collist[4::N Items(collist)],
show(colname);
);回复:限制每个()很好!效果很好。