zoukankan      html  css  js  c++  java
  • 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 自动处理回滚。
    还有错误处理,例程调试等这里不详细写了!

  • 相关阅读:
    Vim step by step
    Ubuntu解压命令全览
    这样才能使本地Mysql服务允许被外部主机连接(两步)
    [Python] logging.logger
    Python Selenium
    MySQL中char、varchar和text的区别
    Way to MongoDB
    Python误区之strip,lstrip,rstrip
    Android Studio Tips
    Way to tmux
  • 原文地址:https://www.cnblogs.com/luowei/p/1160257.html
Copyright © 2011-2022 走看看