cache object script基本结构---Cache变量,变量名称,定义,特殊的变量
Cache变量,变量名称,定义,特殊的变量
按存储方式分:临时变量和持久变量。后者以多维数组的形式存于硬盘的存储结构中。
按访问方式分:本地变量和全局变量。Cache的全局变量又不同于我们常见的面向对象编程中的全局变量的特点。
变量名称规则
Caché ObjectScript 不限定变量的长度。然而只有前31个字符是重要的,如果前31个字符一样的变量,是被看作
为一个的。变量的名称必须是以大写或者小写的字符或者是用% 符来开头。
变量的定义
COS里面变量的定义一共有三个函数:
Set: set a=”b”
Read: set “b”,
For: for a=1:1:N
变量的删除
Kill: kill a
注意!!!***!!!:在terminal终端环境下如果只输入一个kill,则会删掉所有的global。
一些特殊的变量
这些特殊的变量有指定的含义,它们一般以$ 开头。有个别特殊变量也同时支持缩写(注意下划线) 下面介绍一些常见的特殊变量:
$HALT 很有用
如果$HALT 指定出一个routine 即程序模块的名字,当语句被执行的时候这个routine将被调用。
例如:
SET $HALT="MyTrap^CleanupRoutine"
WRITE !,"the halt trap is: ",$HALT
$HOROLOG 很有用
$Horolog
包含了时间和日期,它们由逗号分开。第一部分是日期的数字,它是从1840年12月31日开始计算日期的数字。第二部分是秒的数字,它是从午夜开始计算的。
例如:
>WRITE $HOROLOG
57713,36814
>WRITE $PIECE($H,",",2)
36815
>WRITE +$H
57713
$I O
$IO 表示正在使用的输入输出设备的名称。
例如:
>USE "TTA3:" WRITE $IO
TTA3:
$JOB 很有用
$JOB 包含一个正整数,表示系统所分配给每一个在执行中的进程独一无二的编号。当进程还在的时候,$JOB 的值是不变的。
例如:
>WRITE $JOB
1024
$KEY
$KEY 包含了上一个由read 命令读的最后一个字符。
例如:
>WRITE $KEY
<Return>
$PRINCIPAL
和$IO 类似,$PRINCIPAL 包含了当前进程开始采用的设备的名称。
例如:
>WRITE $PRINCIPAL
|TRM|:|8724
$QUIT 很有用
$QUIT 在调用用户定义的函数中的值是1,在其它的时候值为0。
例如:
>WRITE $QUIT
0
$STORAGE
$STORAGE 以字节为单位表示空间的大小。
例如:
>WRITE $STORAGE
15845
$TEST 很有用
$TEST用作测试某一个表达式的真假。它和"IF "搭配使用,也可以和 OPEN 、LOCK 、 READ和 JOB 一起使用。
例如:
>IF A=5 WRITE $TEST
1 (如果 A=5 时)
>OPEN DEV::10 WRITE $TEST
1 (如果OPEN 命令在10秒以内曾被成功执行时)
$X
$X 光标在输出设备的水平坐标的位置 。
例如:
>IF $X>79 WRITE !
$Y
$Y光标在输出设备的垂直坐标的位置。
例如:
>IF $Y>59 WRITE #
$ZA
表示在当前的设备上的上一个READ 命令的状态。
例如:
>WRITE $ZA#2
1
$ZB
$ZB 和$KEY 一样。
例如:
>WRITE $ZB
<Return>
$ZC HILD
用 JOB 命令执行的上一个进程的进程ID。如果值是0 ,那么就没有进程被执行。
例如:
>WRITE $ZCHILD
37
$ZEOF
$ZEOF 表示是不是已经到了文件的结尾了。如果值是-1 的话,就是已经到了结尾了。
例如:
>IF $ZEOF CLOSE FILE
$ZH OROLOG
$ZHOROLOG 返回的值包含了Caché 开始以后计时的秒数和毫秒数两个部分。
例如:
>WRITE $ZHOROLOG
2365.632
$ZIO
$ZIO 表示现在的终端设备的连接类型。
例如:
>Write $ZIO
192.9.200.79/1260
$ZJOB
$ZJOB 以二进制数的形式表示当前的JOB 的信息。
例如:
>WRITE $ZJOB
5
$ZMODE
$ZMODE 包含了刚被OPEN 或者USE访问的设备变量的值。
例如:
>WRITE $ZMODE
RY\ISM\
$ZN AME
$ZNAME 表示当前被读出来的ROUTINE的名字。
>WRITE $ZNAME
Rec112
$ZN SPACE
$ZNSPACE 表示当前命名空间的名字。它可以用来切换命名空间,效果和 ZNSPACE 命令是一样的。
例如:
>WRITE $ZNSPACE
USER
$ZP ARENT
$ZPARENT 包含正在运行的由 JOB 创建的进程ID。如果值是0 ,则没有这样的进程。
例如:
>WRITE $ZPARENT
0
$ZPI
$ZPI 包含PI 的值:3.141592653589...
例如:
>Write $ZPI
3.141592653589793238
$ZR EFERENCE
$ZREFERENCE 提供了一个对最近常访问的GLOBAL 的引用。
例如:
>SET ^G(1)="HELLO"
>WRITE $ZREFERENCE
^G(1)
$ZS TORAGE
$ZSTORAGE 包含了可以给Caché 进程使用的空间的大小(KB为单位)。
例如:
>WRITE $ZSTORAGE
24
$ZT IMES TAMP
和$HOROLOG 类似,$ZTIMESTAMP 包含了时间的日期、时间、和毫秒数。
例如:
>WRITE $ZTS
57500,11608.52
$ZT IMEZ ONE
$ZTIMEZONE 包含了GMT(格林威治平均时区)往西的相差时间的分钟数。
例如:
Boston 是+300,Berlin 是 -60 。
>Write $ZTZ
300
$ZVERSION
$ZVERSION 返回的是当前Caché 的版本号
例如
USER>w $zversion
Cache for Windows (x86-32) 2010.2.8 (Build 1104U) Sat Feb 11 2012 12:56:34 EST
转载于:https://www.cnblogs.com/lifetraveler/archive/2012/09/19/2694266.html
cache object script基本结构---Cache变量,变量名称,定义,特殊的变量相关推荐
- python变量定义问题_python 定义n个变量方法 (变量声明自动化)
python 定义n个变量方法 (变量声明自动化) code: for i in range(100): cmd = "t%s = 1" % i exec cmd eval(&qu ...
- python定义一个整数变量_python循环定义多个变量的实例分析
python循环定义多个变量方法 我们可能会时长碰到这样一个场景,计算得到一个非固定值,需要根据这个值定义相同数量个变量. 实现方式的核心是exec函数,exec函数可以执行我们输入的代码字符串. e ...
- python循环函数怎么改变变量_python:循环定义多个变量
我们可能会时长碰到这样一个场景,计算得到一个非固定值,需要根据这个值定义相同数量个变量. 实现方式的核心是exec函数,exec函数可以执行我们输入的代码字符串.exec函数的简单例子: >&g ...
- pl/sql基础知识—定义并使用变量
n 介绍 在编写pl/sql程序是,可以定义变量和常量:在pl/sql程序中包括有: ①标量类型(scalar) ②复合类型(composite) ③参照类型(reference) ④lob(lar ...
- linux脚本查看变量类型,Shell变量:Shell变量的定义、删除变量、只读变量、变量类型...
变量是任何一种编程语言都必不可少的组成部分,变量用来存放各种数据.脚本语言在定义变量时通常不需要指明类型,直接赋值就可以,Shell 变量也遵循这个规则. 在 Bash shell 中,每一个变量的值 ...
- Shell变量:Shell变量的定义、删除变量、只读变量、变量类型
Shell支持自定义变量. 定义变量 定义变量时,变量名不加美元符号($),如: variableName="value" 注意,变量名和等号之间不能有空格,这可能和你熟悉的所有编 ...
- Python变量名的定义规则与定义方式
变量名的定义规则 1.变量名只能是 字母.数字或者下划线的任意组合 2.变量名的第一个字符不能是数字 3.一下关键字不能声明为变量名 常用定义方式 驼峰法 AgeOfOld=56 NumberOfSt ...
- c语言变量申明和定义区别,C语言中变量定义与声明的区别
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 在程序设计中,时时刻刻都用到变量的定义和变量的声明,可有些时候我们对这个概念不是很清楚,知道它是怎么用,但却不知是怎么一会事,下面我就简单的把他们的区别介 ...
- 【linux】查看环境变量|getenv setenv设置获取环境变量
目录 环境变量类型 查看环境变量 系统的环境变量 进程的环境变量 初始化时载入的环境变量 执行过程中设置的环境变量 环境变量原理 通过函数存取环境变量 getenv & setenv 获取&a ...
最新文章
- 关于家用无线宽带网速突然下降问题解决
- C1之路 | 训练任务02-网络
- ALS爱立思脚本调用参考
- Ubuntu12上安装Oracle11gR2
- GetWindowThreadProcessId 获得窗口所在进程ID和线程ID
- 使用Java扫描DynamoDB项目
- 锁定计算机在哪里设置方法,怎样锁定电脑?如何设置电脑锁屏【步骤详解】
- Grunt上手指南(转)
- 串口中断和定时器中断_51单片机中断机制(定时器/计数器)
- sql 新增加一列序号_取出上一条下一条的 sql语句
- 游戏开发之使用类封装动态数组(vector)(C++基础)
- cadlisp框选打印_CAD中批量打印
- CRM客户关系管理系统开发第七讲——实现客户管理模块中删除客户的功能
- STC12C5A60S2独立PWM
- 最小割的必须割边和可行割边
- (十五)Python中级知识-线程模块
- java实现26个大写字母的遍历
- html视频顺序播放,三个视频并排显示按顺序播放的效果怎么制作?怎么使同框视频依次播放|视频合成软件...
- (result, consumed) = self._buffer_decode(data, self.errors, final)
- 创建一个子进程,子进程向无名管道中写入数据,父进程打印输出。
热门文章
- launcher切页动画
- 坦克大战游戏Java网络版设计
- VirtualLab Fusion:基于微软专利的蝴蝶型出瞳扩展光导
- 【Java】AWT和Swing概述
- C#使用GetPixel函数获取指定坐标点的rgb值
- 如何使用netsh advfirewall firewall而不是netsh firewall控制Windows Server 2008的防火墙行为
- linux能做什么?
- 图形学基础 | mtl文件详解
- 2.9.1 Packet Tracer - Basic Switch and End Device Configuration(作业)
- 【Transformers】第 5 章:微调文本分类的语言模型