變數、符號和名稱在 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()取得一個與簡單名稱不同的表達式作為參數,它是否只會傳回該表達式?
總是?