Caché 基本语法 - (1) 基本命令

和学习其它语言一样,我们需要先了解Caché的基本语法。其实,Caché有3种语法:Caché Object Script(COS) Caché Basic Caché MultiValue Basic。鉴于使用的广泛程度,这里只介绍COS

首先需要声明,COS不是强类型语言,变量不需要事先声明。这一点非常重要,很多初学者不适应,甚至很反感 这很正常,毕竟我们生活在强类型语言的世界里: javaC++… Caché的确比较异类。

基本命令

COS中命令不多,我们先介绍最常用的。注意:所有COS命令不区分大小写,同时大部分都有缩写。

既然COS不是强类型,那么我们不需要事先声明变量。我们就从设定变量开始:

设定变量

SET是设定变量的命令,缩写为S,语法为Set x=value。例如,在Terminal里执行

Set x="Hello, World"

如果需要同时将很多变量赋为相同的值,这是你可以Set (x,y,z)=value

Set (x,y,z) = "yes"

有时,你也会看到这样的写法:Set x=value1, y=value2。这是缩写,等同于

Set x=value1

Set y=value2

输出结果

WRITE命令将结果输出到当前设备,缩写为W,语法为 Write x。例如,在Terminal里执行

Set x="Hello, World"

Write x

也可以一次输出多个变量,变量间用,分割,如

Write "The value is: ", x

虽然WRITE命令在今后面向对象编程中很少用到,但在调试时很常用。有时需要将结果按格式输出时,可以加入控制字符,如!# ?等。!表示回车,#表示刷出新屏,?后面跟数字表示在那一列输出。在Terminal里执行

Write "Current time is",!,?15,$ZT($ZTS)

 

执行代码

DO用来执行代码,缩写为D,语法为 Do  routine。例如,在Terminal里执行

Do $System.OBJ.ShowObjects("d")

 

IF判断

IF判断缩写为I,语法为:

IF expression1 {

  . . .

}

ELSEIF expression2 {

    . . .

}

ELSE {

    . . .

}

例如在Terminal里执行

if 2=1 {w "2=1"} else {w "2<>1"}

 

FOR循环

For循环的缩写为F,语法为

FOR start:increment:end {. . .}

例如,在Terminal里执行

FOR i=2:1:10 {w i,!}

有时,你会看到没有end条件的For循环,这时需要指定循环退出条件,如下面的例子里当i大于10时会退出循环:

FOR i=1:1 {if i>10 {quit} else {w i,!}}

 

WHILE循环

While循环没有缩写,语法为:

WHILE expression,... {}

例如,在Terminal里执行

Set y=1 WHILE y < 10 {  Set y=y+1  WRITE y,! }

 

终止执行

QUIT是终止执行命令,缩写为Q。可以带返回参数,语法为:

QUIT expression

 

条件执行

经常会看到command:(expression) 的语法,如Set :(x=1) y=2。该语法是当expression表达式为True时,执行相应命令,等同于if (expression) command。所以Set :(x=1) y=2等同于if (x=1) {set y=2}

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值