4Test 简明语法教程及SilkTest入门-----把压箱底的原创拿出来发
(把压箱底的原创拿出来发,只发到第四章)

4Test 简明语法教程及SilkTest入门
by   ryewhisky 
Email: czcooper@gmail

第一篇:基本运算和概念

4test是干什么的,能到这篇文章的估计都了解,我就不废话了,直接入题

4test的运算符:
4test的运算符基本上都和从左到右的,比如:::,->,(),[],* / % **, + -,== !=等等。

有几个是例外的,它们的运算顺序是从右到左的,比如:
@[type] ! ~ unary- unary+ ++ --

像++或--这种数学运算符,我们下面会讲到。

加减单目运算:(和c++像)
赋值形式为:
  X=-5                    // X被赋值为+5
  X=+5                  //X被赋值为-5

++自加和--自减方式和C++语言规则一样:

n=10
x=++n      //运行完,x11

N10
y=n++      //运行完,y10n11

数学运算:

switch语句具体例子+ -*/%表示的意义和C++语言中一样,分别是加,减,乘,取模,取余;
**求幂这个符号在C++语言中没有,似乎C语言中也每有这个符号,这个符号来自Fotran语言的求幂操作**,在4test语法中它的含义是也是求幂。

用+-进行的集合运算:

集合C=集合A+集合B            //这表示集合C的成员为集合A和集合B的并集

集合A=集合C-集合B           //这集合A由表示属于C但不属于B的的成员构成(相对补集的概念)

举例(书上的例子)

Red[COLORS]{Green, Blue}                       //结果为Red
Red[COLORS]{RedGreen, Blue}           //结果为空                  


逻辑运算符:
&―――与
||――――或
――――

位运算符(Bitwise operators):

什么叫位运算?很简单,位(bit)就是单个的0或,和C++语言一样,有6种位运算:  
        &      与运算                     //两个位置都为1时,结果为1,其他的结果都等于0
        
          |      或运算                        //两个位置只要有一个位置为1,则结果为1
        
         ^      异或运算                  //两个位置不相等时,结果为1,否则为0

         ~      非运算(求补)           //取反,0变成11变成0
  
         >>      右移运算               //算子从高位向低位移动
        <<      左移运算               //算子从低位向高位移动

If条件语句:
格式如下
If (布尔表达式)
       字句1
else
      字句2

跟简洁的表达方式是: (布尔表达式)?字句1:字句2

是不是很熟悉,哈哈,基本每个语言都是这样的。

数组结构:

格式有以下几种:

a,b                               //元素之间用逗号隔开,比如 LIST MyList ={a”,b”}

                               //下面跟字母要素,一行表示一个 ,如 SET Colors ={
                                                                                                                                 Red
                                                                                                                                 Green
<text>                                  //这个就是后面跟的是文本, 关键字是text         LIST MyList
                                                                                                                                                   <text>
                                                                                                                                                        A
                                                                                                                                                        b
                                                                                                                                                                  c    //最后一项指<tab>c,前面有个空格
连接操作:

这个是指用+号把两个字符串或数组接起来, 前提是必须都是字符串或数组。
书上的例子:
//string concatenation
STRING sFirstName = Bullwinkle
STRING sLastName =  Moose

// writes a space
STRING sFullName = sFirstName + + sLastName
//prints : Bullwinkle Moose
Print (sFullName)

//list concatenation
LIST lsMelon = {}
          watermelon
          cantaloupe
LIST lsBerry = {}
         strawberry
         raspberry
LIST lsFruit = lsMelon +lsBerry
Print (lsFruit)

//Prints
//{watermelon, cantaloupe, strawberry, raspberry}

类型转换操作:
格式
[type-name] expr

表示把expr所表示的类型转换成[ ]里面的那种类型
例子:
testcase CastStringToInt()
     STRING sName = SilkTest
Print([INTEGER] sName== 81)            //强制转换成整形,这时候输入的是Silktest的首字母
SASCII  

Member-of 操作:
这个就是OOP中的.的用法,取的对象的属性或服务,要结合面向对象语言的特点来了解,因为4test也是门面向对象的脚本语言,比如

TextEditor.Search.Find.Pick ()

又如取当前打开的文件的名字:

FileOpen.Filename.sValue = ""

引用(Reference operator):
这个就是用字符@指引的操作,格式是@expression,用来告诉编译器去哪里去数据,@后面可以接函数,方法,控件,字窗口或具体的值等多种形式,help里只列举了一个很简单的
例子:

INTEGER i = RandInt (1,32)
@("Test{i}") ()

这个语句是让编译器去Test{}中去取数据,i没有确切的值,所以有可能是Test1 Test2,,,,

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。