变量、符号和名称在 JSL 中,变量、“符号”和“名称”之间有什么区别?
var=Expr(1+2);
Name Expr(var); // return the expression which is stored in the name "var" - so var is a name?
Clear Symbols(var); // how can I clear a "symbol" if it's actually a "name"
自动化和脚本回复:变量、符号和名称嗯,名字不仅仅是变量。
例如,如果名称后面跟着() ,则它被视为函数:
https://www.jmp.com/support/help/en/19.0/#page/jmp/rules-for-resolving-names.shtml
要清除或删除它,我们再次将其视为一个符号:
f = function({}, print(hello));
Delete Symbols(f);
is empty(f)
回复:变量、符号和名称如何创建名称:
Names Default to Here(1);
dt = Open( "$SAMPLE_DATA/Big Class Families.jmp" );
x = Expr(sex);
Show(Type(Name Expr(x)),x);
x = Parse("sex");
Show(Type(Name Expr(x)),x);<BR /><BR />x = Parse(":sex");<BR />Show(Type(Name Expr(x)),x);
x = As Name("sex");
Show(Type(Name Expr(x)),x);
Show(x[5])
回复:变量、符号和名称也许更好:
names default to here(1);
x=1;
Clear Symbols(x);
Name Expr(x);
Name Expr(y);
x是一个变量,或者更确切地说是一个符号
(可以通过clear symbol()清除)
在名称 expr(x)中,JMP 采用你的 NAME“x”[如何知道它是否是一个符号!],应用规则: https://www.jmp.com/support/help/en/19.0/#page/jmp/rules-for-resolving-names.shtml ,发现x是此处命名空间中的符号,并返回存储在此符号中的表达式。
在名称 expr(y)中,JMP 采用 thy NAME“ y ”,应用规则: https://www.jmp.com/support/help/en/19.0/#page/jmp/rules-for-resolving-names.shtml ,没有找到任何内容并返回名称。
到目前为止,我认为,
names default to here(1);
方法:
将名称存储在此处的命名空间中。
但实际上,名字是无法存储的,它只是名字而已?
事实是这样的:
在这里的命名空间中查找名称 - [如果您没有指定命名空间,我会将符号存储在那里]。
谁在乎呢?也许理解原始逻辑有助于更好地遵循逻辑……
如果名称 expr()获取一个与简单名称不同的表达式作为参数,它是否只返回该表达式?
总是?