Lysee 的标识符
柯鸿云
2023-12-01
Lysee 的标识符分以下两种:
[b]1、常规标识符:[/b]
遵循C/C++/Java标准,整个标识符由字符['a'..'z', 'A..'Z', '0'..'9']和下划线'_'构成且第一个字符不能是数字。
示例:max
[code]
// 代码
public variant max(variant v1 v2)
{
return v1 > v2 ? v1 : v2;
}
= max(1, 2), eol;
= max("hello", "world"), eol;
// 结果
2
world
[/code]
[b]关键字[/b]和[b]保留字[/b]属于常规标识符的范围。
示例:[b]true false[/b]
[code]
// 代码
bool loop = true;
while (loop) {
int x = sys::random(10);
= @"%(x) ";
if (x == 5) loop = false;
}
// 结果
4 2 0 2 6 2 5
[/code]
[b]2、环境变量名:[/b]
格式为“${命名}”,其中命名遵守常规标识符的要求。
示例:${PATH}
[code]
// 代码
= ${PATH}.replace(";", eol);
// 结果
C:\Develop\Perl\site\bin
C:\Develop\Perl\bin
C:\WINDOWS
C:\WINDOWS\System32\Wbem
c:\develop\lysee\bin
C:\Program Files\Haskell\bin
C:\Develop\ghc-6.6.1\bin
C:\Develop\dmd\bin
C:\Develop\dm\bin
[/code]
环境变量名还可以使用类似“${域名.命名}”的格式,在CGI页面生成的过程中经常用到。
示例:${cookie.LID}
[code]
{%
public string usr_loginID = "";
public string usr_name = "";
public void checkLoginfo()
{
string LID = ${cookie.LID}.trim();
if (LID) {
dataset ds = openSQL(@"SELECT * FROM bbuser WHERE usr_cookie='%(LID)'");
if (not ds.eof) {
usr_loginID = LID;
usr_name = ds.usr_name.asStr();
}
ds = nil;
}
}
checkLoginfo();
%}
<script language="javascript">
var usr_loginID = "{%=usr_loginID%}";
var usr_name = "{%=usr_name%}";
document.cookie = "LID=" + usr_loginID;
</script>
[/code]