在COS语法中,经常看到$符号,有时是一个,有时是2个或3个$。下面简单介绍一下什么时候会出现$及其含义:
$:
Cache’提供了很多系统函数(function)和系统变量,它们都以$开头。如我们熟悉的$Piece(根据分割符获取或替换子字符串的系统函数) ;$Horolog(获得当前时间的系统变量).
$$:
上面可以用$<function>来调用系统函数,用户也可以定义自己的函数(function),并使用$$<function>来调用该函数。例如,定义一个名为Test的函数在如下Routine(*.mac)中,并用$$来调用它:
Main
Test() PUBLIC
Set x="test"
w x,!
Quit x
Testme()
Set y=$$Test()
w y,!
Q
$$$:
在COS中,$$$代表宏。例如,我们熟悉的$$$OK, $$$ERROR()。当然,我们也可以定义自己的宏。下面的例子建立一个名为GETDATESTR的宏,返回日期类型的YYYY-MM-DD字符串格式。在studio里新建User.MyInc.inc文件,并定义宏GETDATESTR,该宏带一个参数:
#define GETDATESTR(%n) $ZD(%n,3)
可以在别的类里引用该宏,方法是在引用类的头部增加Include User.MyInc ,注意不需要加inc后缀名。之后,可以在类中方法里如下调用该宏:
ClassMethod Today()
{
Set y = $$$GETDATESTR($h)
W "Today is:", y,!
}