4Test 简明语法教程及SilkTest入门-----把压箱底的原创拿出来发
(把压箱底的原创拿出来发,只发到第四章)
4Test 简明语法教程及SilkTest入门
by ryewhisky
Email: czcooper@gmail
第一篇:基本运算和概念
4test是干什么的,能到这篇文章的估计都了解,我就不废话了,直接入题
4test的运算符:
4test的运算符基本上都和从左到右的,比如:::,->,(),[],* / % **, + -,== !=等等。
有几个是例外的,它们的运算顺序是从右到左的,比如:
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 //运行完,x为11
或
N=10
像++或--这种数学运算符,我们下面会讲到。
加减单目运算:(和c++像)
赋值形式为:
X=-5 // X被赋值为+5
X=+5 //X被赋值为-5
++自加和--自减方式和C++语言规则一样:
n=10
x=++n //运行完,x为11
或
N=10
y=n++ //运行完,y为10,n为11
数学运算:
switch语句具体例子+ -*/%表示的意义和C++语言中一样,分别是加,减,乘,取模,取余;
**求幂这个符号在C++语言中没有,似乎C语言中也每有这个符号,这个符号来自Fotran语言的求幂操作**,在4test语法中它的含义是也是求幂。
用+-进行的集合运算:
集合C=集合A+集合B //这表示集合C的成员为集合A和集合B的并集
集合A=集合C-集合B //这集合A由表示属于C但不属于B的的成员构成(相对补集的概念)
数学运算:
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]{Red,Green, Blue} //结果为空
逻辑运算符:
&―――与
||――――或
!――――非
位运算符(Bitwise operators):
什么叫位运算?很简单,位(bit)就是单个的0或,和C++语言一样,有6种位运算:
& 与运算 //两个位置都为1时,结果为1,其他的结果都等于0
Red-[COLORS]{Green, Blue} //结果为Red
Red-[COLORS]{Red,Green, Blue} //结果为空
逻辑运算符:
&―――与
||――――或
!――――非
位运算符(Bitwise operators):
什么叫位运算?很简单,位(bit)就是单个的0或,和C++语言一样,有6种位运算:
& 与运算 //两个位置都为1时,结果为1,其他的结果都等于0
| 或运算 //两个位置只要有一个位置为1,则结果为1。
^ 异或运算 //两个位置不相等时,结果为1,否则为0
~ 非运算(求补) //取反,0变成1,1变成0
>> 右移运算 //算子从高位向低位移动
<< 左移运算 //算子从低位向高位移动
If条件语句:
格式如下
If (布尔表达式)
字句1
else
字句2
跟简洁的表达方式是: (布尔表达式)?字句1:字句2
是不是很熟悉,哈哈,基本每个语言都是这样的。
数组结构:
格式有以下几种:
{a,b} //元素之间用逗号隔开,比如 LIST MyList ={“a”,“b”}
{…} //下面跟字母要素,一行表示一个 ,如 SET Colors ={…}
Red
Green
跟简洁的表达方式是: (布尔表达式)?字句1:字句2
是不是很熟悉,哈哈,基本每个语言都是这样的。
数组结构:
格式有以下几种:
{a,b} //元素之间用逗号隔开,比如 LIST MyList ={“a”,“b”}
{…} //下面跟字母要素,一行表示一个 ,如 SET Colors ={…}
Red
Green
<text> //这个就是后面跟的是文本, 关键字是text , 如LIST MyList =
<text>
A
“b”
c //最后一项指<tab>c,前面有个空格
<text>
A
“b”
c //最后一项指<tab>c,前面有个空格
连接操作:
这个是指用+号把两个字符串或数组接起来, 前提是必须都是字符串或数组。
书上的例子:
//string concatenation
这个是指用+号把两个字符串或数组接起来, 前提是必须都是字符串或数组。
书上的例子:
//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”
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的首字母
Print (lsFruit)
//Prints
//{watermelon, cantaloupe, strawberry, raspberry}
类型转换操作:
格式
[type-name] expr
表示把expr所表示的类型转换成[ ]里面的那种类型
例子:
testcase CastStringToInt()
STRING sName = “SilkTest”
Print([INTEGER] sName== 81) //强制转换成整形,这时候输入的是Silktest的首字母
S的ASCII值
Member-of 操作:
这个就是OOP中的.的用法,取的对象的属性或服务,要结合面向对象语言的特点来了解,因为4test也是门面向对象的脚本语言,比如
TextEditor.Search.Find.Pick ()
又如取当前打开的文件的名字:
FileOpen.Filename.sValue = ""
引用(Reference operator):
这个就是用字符@指引的操作,格式是@expression,用来告诉编译器去哪里去数据,@后面可以接函数,方法,控件,字窗口或具体的值等多种形式,help里只列举了一个很简单的
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,,,,
INTEGER i = RandInt (1,32)
@("Test{i}") ()
这个语句是让编译器去Test{}中去取数据,i没有确切的值,所以有可能是Test1或 Test2,,,,
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论