• Cache Object Script语言(转载)


       Cache Object Script语言(简称为COS)。它适于开发1.业务逻辑2.应用集成3.数据处理。COS将被编译成“对象代码”,并在Cache虚拟机内执行。“对象代码”具有字符串操作、数据访问等功能。
       在下面这些情况下使用COS:
    1.在Cache Terminal中。
    2.作为Cache对象类的方法中使用的语言。
    3.创建Cache例程。
    4.在Cache SQL中,作为存贮过程和触发器的编写语言。
    5.在CSP中作为服务端脚本语言。
       COS的特性:
    1.强大的字符串功能。
    2.内在的支技对象技术,包括方法、属性、多态性。
    3.大量控制应用流程的命令。
    4.一套处理设备I/O的命令。
    5.支持多维、稀疏数据组:local和Global。
       COS语言概要:
    1.没有保留关键字,使用如“$”等字符区分内部命令和用户变量。
    2.给变量付值用Set命令。
    3.空格在COS也有一定意义:无前导空格的是标签符,命令必须有前导空格。
    4.COS由一系列语句组成,每个语句都定义了某些程序功能。语句由命令和参数组成。
    5.每个COS命令都有一个长名和一个短名,如“Write”和“W”同。
    6.COS中在任何使用表达式的地方都可以使用函数,在对象中调用的函数称为方法。
    7.函数一般由系统提供,用户可以自定义函数叫过程(Procedure)。
    8.COS支持丰富的表达式。
    9.变量是无类型的,可分为:局部变量,Globals变量,数组变量,系统变量,对象属性。
    10.COS有多种操作符,如:“+”“-”等。
       COS语法:
    1.用户自定义的内容在COS中是大小写敏感的,而系统内建的命令和函数是不敏感的。
    2.与类相关的所有名称都是大小写敏感的。但却不能只用大小写来区别类名!
    3.调用命令和函数:Write x
    4.空格必须出现在一行代码的最前面;命令和参数之间必须有空格;一行可以写多个命令,命令之间一定要有空格;命令与注释间必须有空格。
    5.注释用“//”和“;”或“/*”“*/”。
    6.编译器编译时会去除注释,用$Text可以保留注释。
    7.COS只能认识数字和字符两种字面形式。
    8.特殊标识:前导“^”指示为Global名称;前导“%”的标只是“一直可见的”或系统变量,例程名称也可用“%”前导。
    9.标签名必须字母开头,最多31字符长度,一行代码只能有一个标签,标签也大小写敏感。
    10.虽然COS没有保留关键字,但由于COS支持内嵌SQL语句,所以使用名称时小心于SQL保留字冲突。
        数据类型和值:
    1.COS变量没有类型,每个变量都可以是字符,数字或对象值。
    2.COS字符串中双引号“"”可以嵌套使用。
    3.“_”可以联接字符串。
    4.数字可包括0-9和“.”,可以使用前导或后继“0”,不可以用“,”或贷币符号。“E”或“e”必须直接与数字相联,长度大于19位或指数大于130的数字将成为未知数。
    5.值为对象值的变量参引到一个内存中的对象。可以用$IsObejct来测试是否对象变量。但不能将Global付给对象变量。一个对象付给一个变量后,其参引数自动加一。
    6.一个Global数组变量与其它数组一样,只是有前导“^”,它可以存贮在数据库中。
    7.COS中变量不用定义,只需直接使用,可用$Data和$Get函数判断其是否已定义。注:$Get可以返回默认值,但不会设置变量值。
    8.在逻辑操作中,字面会转化为0(false)或1(ture),表示布尔值。
    9.COS没有日期数据类型,它提供一系日期函数用来操作或把日期显示为特定的字符值。$Horolog、$ZDateTime、$ZH提供了三种日期格式。
       COS中的变量:
    1.局部变量,在单个程过程(Procedure block)块中有效。
    2.全局变量,在一个例程中有效,除非进入了一个Procedure block。
    3.Globals变量,可以自动存贮在数据库中的变量,Global变量可以和一般的变量同样使用。
    4.数组变量,可以有一个或多个下标。数据变量可以局部的、全局的或Global。
    5.系统变量,系统变量以“$”为前导,提供一些系信息。大部分系统变量是只读的,但$IO是可读写的。
    6.对象属性,严格来说,对象属性不是一个变量,但可以和变量一样使用。
    7.虽然COS变量无类型,但内部还是对不同的值类型进行自动转换的。
    8.对象值对是一个内存对象的引用,这个值不能用来从数据库读取对象!内容对消失时,自动取消变量的引用。
    9.全局变量使用%前导,但在程序块以外定义的变量也是全局变量。
       操作符与表达式:
    1.COS包含很多操作符,比较特殊的有“[”包含,“]”跟随,“]]”之后排序,“@”间接引用,“?”模式匹配。
    2.操作符的顺序可以用括号来改变。
    3.表达式可以是数学表达式,字符串表达式,逻辑表达式,对象表达式。
    4.逻辑表达式用于:逻辑操作,数字关系操作,字符关系操作,它一般于IF、$Select和条件表达式一起使用。
    5.数字操作有:正负+-,加减+-,乘除*/,幂运算**,整除\\,取模#。
    6.逻辑操作有:二进制与&、&&,非与\'&,或!、||,非或\'!,非\'。
    7.字符操作有:联接“_”。
    8.数字关系操作:小于<,大于>,大于等于\'<,小于等于\'>。
    9.字符关系操作:相同=,不相同\'=,包括[,不包括\'[,跟随](以ASCII顺序),不跟随\'],之后排序]],非之后排序\']]。
    10.模式匹配:?,A表示大小写字母,C表示33个ASCII控制字符,E表示255个ASCII,L表示26个小写字母,N表示10个数据字符,P表示33个ASCII标点字符,U表示26个大写字符。
    11.模式中,指定出现次数用n.n形式;用数字加模式符组合多重模式;还有组合模式;模糊模式。
    12.可以使用多个模式“或”;模式嵌套;有多种解释方法的,只要有一种就是真。
    13.间接引用@,Cache认识5种类型:名称、模式、参数、下标、$TEXT参数。

  • 相关阅读:
    vim快速查找
    一次特别二不兮兮的WebStorm经历
    让docker容器使用主机系统时间(挂入/etc/localtime)
    systemd:在service文件中给Exec传入多个参数
    mongodb数据迁移
    明日边缘;逃出克隆岛
    [C++] 类的所有对象实例共享静态类成员变量
    HTTP长连接
    fqPkzJetPK
    何时使用move
  • 原文地址:https://www.cnblogs.com/luowei/p/1160250.html
Copyright © 2020-2023  润新知