Cache Object Script 学习之二(转载)

   COS命令:
1.调用命令:Do,Quit,Job,Xecute
2.指配:Set,Kill,New
3.流程控制:If,ElseIf,Else;For;While,Do/While。
4.输入输出:Write;Read;一些I/O命令。
5.命令可以没有、有、或有多个参数。多个参数用“,”隔开;“:”作多个参数分隔符;同一行命令之间必须有两个以上空格。
6.后条件命令用“Command:pc”的形式。
7.Do例程时,例程要有前导“^”符。可以在“^”前加上例程的标签符。调用类方法用##Class。
8.Quit用于返回值。
9.Job运行后台程序,一般没有用户交互的。
10.Xecute,可以一次运行多个命令。
11.IF ElseIf Else类似C语言语法。
12.For ControlVariable = StartValue:IncrementAmount:EndValue {}
13.do {code} while condition
14.while condition {code}
15.Write $$label^routine()调用全程中的子程序。
16.Read中:!回车;#换页;?n换几行。
17.COS中还包括:事物处理命令:Lock,TStart,TCommit,TRollBack;设备相关:Open,Use,Close;调试命令:Break,GoTo;Hang:挂起正在运行的程序。
   COS中的函数:
1.函数可以有或没有返回值,COS支持很多系统函数和用户自定义函数。
2.调用系统函数用$name(parameters)。
3.自定义函数是一种特殊的例程,它有名称、参数、作用域、返回值。
4.COS推荐使用过程(Procedure)来实现自定义函数。过程、例程、子例程、函数、方法是比较相近的但有各自的特点。
5.过程可以是私有或公共的,可以有或没有参数,自动管理其中使用的变量,可以使用和改变外部变量,可以有或没有返回值。
6.子例程总是公共的,不能有返回值。函数也总是公共的,需要显式定义局部变量,必须有返回值。方法是类定义的一部分。例程是COS一个程序,它可以包含一个或多个过程、子例程、函数、及这些的结合。
7.COS还支持在宏中定义用户代码。
8.例程存为*.MAC文件,这样调用:Do ^RoutineName或 Set x = ^RoutineName
9.子例程是*.MAC中的代码块,调用:Do Subroutine^Routine
10.函数这样调用:Do Function^Routine 或 $$Function()
11.过程也可以用DO调用或在表达式中用$$调用。
12.过程中的公共参数使用时,将调用New方法,在过程Quit时,回收。
13.如果过程中需要的参数是给它所调用的子例程使用的,那么这个参数必须定义为公共参数。
14.默认定义的是私有过程。
15.参数可以值传递或地址传递。
16.在同一个过程中,不能有两个相同标签,但在同一例程的不同过程中,可以有相同的标签。过程内定义的过程只能在这个过程中调用。
17.在过程中用Do调用的过程如是没有标签,表示是过程内部定义的过程,有标签,表示过程外部定义的过程。
18.在过程中,如果有GoTo,那么标签必定是在过程内部。
19.在过程中,使用Xecute和间接引用调用的是外部过程。
20.COS中还可以定义函数或子例程,但并不推荐使用。
21.子例程定义以标签开始,Quit结束,可以用Do,GoTo,Quit调用。
22.函数不应该用,使用过程来替换。
  多维数组:
1.多维数组是包括一个或多个元素的可持久变量,每个元素是一个唯一的下标标识,下标可以使用多种字面混合。
2.简而言之,多维数组是可持久化的,通过多个下标表示的多维数据。单个节点也称为“Globals”,它是Cache数据库的基本组成块。它存在于一种树形形式,是稀疏存贮的,有多种设置。
3.稀疏存贮可以不用为数组预留内存,从而节约内存开销。
4.Global可以转变为数组,属性可以转变为数组,变量也可以转变为数组。
5.可以使用Set,Kill,$Order,$Data存取操作数组数据。
   字符串操作:
1.$length,测长度。
2.$Justify,调整长度。
3.$ZConvert,转换大小写。
4.$find,查找子串。
5.$Extract,提取子串。
6.$Piece,截取。
7.$ListBuild,$List,$ListLength,$ListFind。
   调用外部命令:
1.使用%CLI 、$ZF(-1)、$ZF(-2)
2.在Cache Terminal中使用%CLI。
3.Set CallResults = $ZF(-1,command),可以用“!”替换。
4.用$ZF 可在Cache中调用用其它语言(如C)写的例程。
   事物处理:
1.可以在使用SQL语句或COS命令的应用程序中使用事物。
2.使用Lock加锁或解锁。
3.$INCREMENT不受事物控制。
4.%ETN 自动处理回滚。
还有错误处理,例程调试等这里不详细写了!

posted @ 2008-04-18 17:58  weiwei~  阅读(425)  评论(0编辑  收藏  举报