对变量使用新的 :Name() 命名法我真的很喜欢从 :Name("column name") 到 :"column name"n 的转变,尤其是数据表如何更轻松地引用列。 但是当列名是一个变量时,我无法让它工作。
dt = currentdatatable();
colName = "Column Name";
//old way works fine
Column(dt,colName) << set name("new column name");
//if it's not a variable it works
dt:"Column Name"n << set name("new column name");
//as a variable, the syntax is lost on me
dt:colName << set name("new column name") // nope
dt:colName||"n" << set name("new column name") // nope
dt:colName||n << set name("new column name") // nope我确信这很简单……但我就是不明白。 旧方法工作正常,所以我仍然可以继续编写脚本,但这种新方法更简洁,我想在任何地方都使用它 
谢谢!
脚本回复:对变量使用新的 :Name() 命名法谢谢@txnelson和@Jeff_Perkinson ... 这绝对是一个简单的修复 
我觉得我刚才遇到了麻烦,从来没有想过再试一次!
回复:对变量使用新的 :Name() 命名法经过一番谷歌搜索后,至少找到了一个我以前见过该语法的地方:
自动化数据监管工作流程 (2020-US-45MP-620)
它提供了到这里的链接:
JMP16.0 - JSL 语法指南 - 名称
回复:对变量使用新的 :Name() 命名法杰夫,
我进行了多次搜索,试图找到关于“”n 文档的文档。 你有具体的参考资料吗?回复:对变量使用新的 :Name() 命名法我相信 ""n 结构仅适用于需要在语句本身中使用字符文字的情况。 因此,没有必要尝试将“,n”附加到它。
至于你的测试,这对我有用:
dt = open("$SAMPLE_DATA/Big Class.jmp");
colName = "height";
dt:colName << set name("new column name");
回复:对变量使用新的 :Name() 命名法在 Windows 10 上运行 JMP 15.2.1 我得到的结果略有不同
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA\big class.jmp" );
colName = "height";
Show(
dt:Height[1],
dt:Name( "height" )[1],
dt:"Height"[1],
dt:"Height"n[1],
Column( dt, "Height" )[1],
Column( dt, colName )[1],
dt:colName[1]
);
dt:colName << set name( "New Column Name" );
哪个返回
dt:Height[1] = 59;
dt:height[1] = 59;
dt:Height[1] = 59;
dt:Height[1] = 59;
Column(dt, "Height")[1] = 59;
Column(dt, colName)[1] = 59;
dt:colName[1] = 59;
Scriptable[]
脚本运行后数据表具有以下名称
