Cadence-Skill-语法详解(中文)要点Word下载.doc

上传人:b****9 文档编号:13021711 上传时间:2022-10-02 格式:DOC 页数:40 大小:253.20KB
下载 相关 举报
Cadence-Skill-语法详解(中文)要点Word下载.doc_第1页
第1页 / 共40页
Cadence-Skill-语法详解(中文)要点Word下载.doc_第2页
第2页 / 共40页
Cadence-Skill-语法详解(中文)要点Word下载.doc_第3页
第3页 / 共40页
Cadence-Skill-语法详解(中文)要点Word下载.doc_第4页
第4页 / 共40页
Cadence-Skill-语法详解(中文)要点Word下载.doc_第5页
第5页 / 共40页
点击查看更多>>
下载资源
资源描述

Cadence-Skill-语法详解(中文)要点Word下载.doc

《Cadence-Skill-语法详解(中文)要点Word下载.doc》由会员分享,可在线阅读,更多相关《Cadence-Skill-语法详解(中文)要点Word下载.doc(40页珍藏版)》请在冰豆网上搜索。

Cadence-Skill-语法详解(中文)要点Word下载.doc

putpropqd~>

s,d~>

s=expr~>

Unary

preincrement++s++

postincrements++++

predecrement--s--

postdecrements----

minus-n-

not!

expr!

bnot~x~

Binary

exptn1**n2**

timesn1*n2*

quotientn1/n2/

plusn1+n2+

differencen1-n2-

leftshiftx1<

<

x2<

rightshiftx1>

x2>

lesspn1<

n2<

greaterpn1>

n2>

leqpn1<

=n2<

=

geqpn1>

=n2>

equalg1==g2==

nequalg1!

=g2!

bandx1&

x2&

bnandx1~&

x2~&

bxorx1^x2^

bxnorx1~^x2~^

borx1|x2|

bnorx1~|x2~|

andx1&

&

x2&

orx1||x2||

rangeg1:

g2:

setqs=expr=

对于既有函数名又有操作符函数,采用函数名调用和采用操作符调用的效果是一样的。

示例lessp(31)=>

nil等同于3<

1=>

nil

预定义算术函数

语法结果

通用函数

add1(n)n+1

sub1(n)n–1

abs(n)绝对值

exp(n)自然对数的n次方

log(n)

max(n1n2...)

min(n1n2...)

mod(x1x2)取模运算

round(n)

sqrt(n)

sxtd(xw)将x右扩展W个符号位

zxtd(xw)和上面的功能相同,速度更快

三角函数

sin(n),cos(n),tan(n)

asin(n),acos(n),atan(n)

随机数生成函数

random(x)产生0~x-1的随机数

srandom(x)初始化随机数生成函数的x

位操作

含义操作符

位与&

位或|

位异或^

左移位>

右移位<

取反~

真值、假值

§

真值,除了nil以为的值都是真值。

假值,nil

条件控制函数

if,when,unless,cond

if

if函数的语法结构

if(condition1then;

当condition1为真值时执行代码块expA

expA

else

if(condition2then;

当condition2为真值时执行代码块expB

expB

else

expC

);

endif

when

when函数语法结构

when(condition;

当condition为真值时执行代码块expA,否则跳过

expA

);

endwhen

unless

unless语法结构

unless(condition;

当condition为假值时执行代码块expA,否则跳过

expA

);

endunless

cond

cond语法结构

cond(

(condition1expA...);

(condition2expB...);

(condition3expC...);

(texpN);

之前的条件都不满足时默认执行expN

endcond

[注]:

"

;

表示注释

循环控制函数

while,for,foreach

while

while语法结构

while(conditionistrue;

当condition为真值时反复执行代码块expA,否则结束循环

expA

for

for语法结构

for(i15

println(i)

将输出

1

2

3

4

5

foreach

foreach是简化版的for,上面的例子用foreach写如下

alist=‘(12345)

foreach(itemalist

println(item)

foreach通常用于操作列表,因为它会遍历列表的每一个元素。

选择函数

caseq的用法类似cond,功能也类似。

caseq(var

(condition1expA)

(condition2expB)

);

case语法结构

循环结构中的局部变量

使用关键字prog可以在循环结构中定义局部变量。

关于prog的详细介绍请参考函数章节。

返回函数

表示返回值的关键字是return。

return可以强制一个prog结构立即结束,送出返回值,忽略剩余的循环操作。

示例prog(()

for(i010

when(oddp(i)

return(i)

);

);

);

prog

这个for循环不会运行10次,首次oddp(i)为真值的时候循环就会结束。

正则表达式

在很多的skill应用中都会用到正则表达式,比如在一个字符串数组中查找带有关键字user的字符串。

示例:

lStr='

("

hello"

"

whenuser"

usercome"

ffuser"

ppuserd"

uster"

);

lRes=nil

foreach(itemlStr

if(rexMatchp("

user"

item)then

lRes=cons(itemlRes)

println(item)

输出:

lRes=>

).

这里的关键命令是rexMatchp,函数形式为rexMatchp(t_patternS_target),这个命令将在第二个参数中查找满足第一个参数(模式)的条件,如果找到返回真值,否则返回假值。

正则表达式(pattern)的组成字符

语法含义

c匹配任意非特殊字符

.匹配任意字符

\用在特殊字符前面代表特殊字符本身,用在<

>

(,),and1,...,9,的含义在下面描述

[c...]一对方括号中包含一些字符将匹配括号中的任意一个字符,如果第一个字符是^则表示不匹配括号中的所有字符,[a-z]表示匹配a到z之间的任一字符,"

-”表示范围。

*用在一个以上描述的字符或pattern后表示匹配该字符或pattern0次或多次。

+类似*,区别在于匹配至少一次

\(..\)如果包含在这个符号中的字符串匹配上了,被匹配的字符可以被提取出来(最多支持9中匹配)

\n和上一个符号对应,反斜杠后跟一个数字将可以提前到上一个符合保留的字符串

\<

...\>

这个符号表示完全匹配一个字符串的开始和结尾

rs2个正则表达式的组合将尽可能多的匹配

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1