內置名稱空間用法,名稱默認為此處,函數局部變量您好,我對模塊腳本中的名稱空間以及這些腳本中的函數有疑問。
據我了解,定義為Names Default to Here()為true的任何變量都將在“ here”命名空間中分配。 我不確定該命名空間的範圍。 “這裡”是否總是以完整腳本(例如,在模塊內)為範圍,還是可以在腳本內創建單個函數局部的變量? 在函數中製作局部變量的正確方法是什麼? 有沒有一種方法可以將每個函數中定義的變量僅局限於該函數而不是整個腳本的局部變量? 我在想像的是下面的東西。
//Script to define different scopes of variables<BR />Names Default to Here(1); //set variables to be scoped to this script by default<BR />a = 1;<BR />b = 2;<BR /><BR />Function1 = Function({},<BR /> Names Default to Here(1);<BR /> c = 3;<BR />);<BR /><BR />Function2 = Function({},<BR /> Names Default to Here(1);<BR /> d = 4;<BR />);@lbrickweg @jcimini
回复:內置名稱空間用法,名稱默認為此處,函數局部變量嗯,很抱歉那裡的格式
//Script to define different scopes of variables
Names Default to Here(1); //set variables to be scoped to this script by default
a = 1;
b = 2;
Function1 = Function({},
Names Default to Here(1); //set variables set in Function1 to be scoped only to Function1
c = 3;
);
Function2 = Function({},
Names Default to Here(1); //set variables set in Function2 to be scoped only to Function2
d = 4;
);回复:內置名稱空間用法,名稱默認為此處,函數局部變量名稱默認為Here(1)表示在此期間使用/創建的所有不合格符號提交(運行腳本)將位於相同的Here命名空間中。 因此,它比單個JSL文件更廣泛。 因此,如果啟用名稱默認到此處時A.jsl包括B.jsl,則由A和B創建的符號都將在相同的Here命名空間中可用。
對於本地函數,您應該使用本地列表:
/* Default Local */
slow identity = Function({x}, {Default Local},
x squared = x*x; // unqualified name x squared is defaulted to function local
Sqrt(x squared)
);
/* Or list them explicitly */
slow identity = Function({x}, {x squared},
x squared = x*x; // local because we declared it above
Sqrt(x squared)
);
/* Or qualify them */
slow identity = Function({x},
local:x squared = x*x; // qualify to local explicitly
Sqrt(x squared)
);回复:內置名稱空間用法,名稱默認為此處,函數局部變量知道了! “每次提交”語言非常有幫助。
作為後續措施,當運行來自App Builder的不同模塊時,啟動.jmpapp時是否包含每個模塊的腳本? 還是每個模塊的腳本實際上是在<<創建實例時單獨提交的,以便每個模塊都有自己的Here命名空間?
簡而言之,在使用jmpapp時,這里通常會引用每個模塊還是整個應用?Re: 內置命名空間用法,Names Default to Here,函數局部變量
@mringqui寫道:
知道了! “每次提交”語言非常有幫助。
作為後續,當從 App Builder 運行不同的模塊時,啟動 .jmpapp 時是否包含每個模塊的腳本? 或者每個模塊的腳本實際上是在 << Create Instance 上單獨提交的,以便每個模塊都有自己的 Here 命名空間?
簡而言之,在使用 jmpapp 時,Here 通常是指每個模塊,還是指整個應用程序?
@EvanMcCorkle