Allegroskill大体语法Word下载.docx
- 文档编号:13064135
- 上传时间:2022-10-04
- 格式:DOCX
- 页数:27
- 大小:20.62KB
Allegroskill大体语法Word下载.docx
《Allegroskill大体语法Word下载.docx》由会员分享,可在线阅读,更多相关《Allegroskill大体语法Word下载.docx(27页珍藏版)》请在冰豆网上搜索。
下面,下一步来加载那个文件,然后运行概念的函数
的源代码:
procedure(hello()
let(()
println("
HelloWorld!
"
)
);
endprocedure
注释
SKILL支持2种注释方式:
a./*…*/用于注释多行,像C一样
b.;
用于注释单行,类似C的.
操作符
数学运算+,-,*,/,++,**
比较运算>
<
=,>
=,<
=,==
逻辑运算||,&
&
!
赋值=
输出数据
例如:
%d---integer,%f---float,%s---string,%L---多种数据格式
List数据类型
List是CadenceSKILL中经常使用的数据类型。
能够把List能够有多种类型的常量组成的列表。
明白得为一个数据结构表,它能够是空的,也能够有多种类型的常量组成的列表例如:
'
(12abc"
PCB"
)
在上面那个List中包括的数据有整数、字符、字符串。
在List中也能够包括List类型的数据。
例如:
(1(2aa)b)
创建List数据
创建新的List数据能够用单引号'
或函数list来新建一个List数据类型的变量。
aList='
(12abc)=>
(12abc)
bList=list(12'
a'
b'
d)=>
(12abd)
cList='
(1(2aa)b)=>
(1(2aa)b)
注意:
当有字符显现的时候,用list函数创建必需在字符前加单引号。
List在内存中的贮存方式
咱们能够把List看做是一个List单元,其中一个List单元占用两个内存位置。
如此便于明白得。
第一个位置保留List的首个数据元素,第二个位置保留后面的List单元(除第一个元素之外的所有元素组成的表),它能够为空数据。
用car函数能够取得保留在第一个位置的List元素:
car(aList)=>
2
用cdr函数能够取得保留在第二个位置的List单元:
cdr(aList)=>
(34)List
中能够包括有子List,例如:
bList='
(1(234)5)=>
(1(234)5)
bList在内存中的贮存方式如以下图所示:
List中能够同时包括List和字符,例如:
读取List元素
1)读取List中的第一个元素利用car函数能够读取List中的第一个元素。
例:
car('
(abc))=>
a
z='
(123)=>
(123)
y=car(z)=>
1
y=>
z=>
car(nil)=>
nil
2)读取List中后面的List单元利用cdr函数能够读取List中后面的List
单元。
例:
cdr('
(bc)
(123)
cdr(z)=>
(23)
3)对List重复混合利用car或cdr函数读取car和cdr函数混合利用,组合的格式为:
ca|d[a|d][a|d][a|d]r,以c开头,r中间能够由多个结尾,a或d组成函数。
caadr功能等同于car(car(cdr(l_list))),caadr对函数List的操作顺序为:
1.先执行一次cdr,读取后面的List单元。
2.对第1步读取的值,执行car,读取其第一元素。
3.对第2步读取的值,执行car,读取其第一元素。
实例:
caaar('
(((123)(456))(789)))=>
1等同于car(car(car(l_list)))
caadr('
7等同于car(car(cdr(l_list)))
caar('
(123)等同于car(car(l_list))
cadr('
(123))=>
2等同于car(cdr(l_list))
4)按元素序号读取List中的元素用nthelem并输入所有读取的元素序号,即可读取该编号位置的元素。
如nthelem(1l_list)同于等car(l_list)。
nthelem(1'
(abc))=>
(123)
nthelem(2z)=>
类似的函数还有nthcdr。
nthcdr(3'
(abcd))=>
(d)
nthcdr(2z)=>
(3)
5)读取List中最后一个List单元用last函数能够读取List中最后一个元素单元,其数据类型也是一个List。
last('
(c)
last(z)=>
(3)
修改List单元
1)rplaca函数用rplaca函数能够替换List中的第一个元素。
(123)=>
(123)
bList=rplaca(aList4)=>
(423)
aList=>
eq(aListbList)=>
t
2)rplacd函数用rplacd函数能够替换List中后面的List单元。
(123)=>
bList=rplacd(aList'
(45))=>
(145)
t
添加List元素和归并List
1)在List前添加元素(cons,xcons)用cons函数能够添加元素到List前。
(234)
aList=cons(1aList)=>
(1234)
xcons函数和cons函数的功能一样,但格式有所区别,前面的变量为List素。
,后面的变量为添加的元xcons('
(bc)'
a)=>
(abc)
2)在List后添加元素(append1)用append1函数能够添加元素到List后。
append1('
(123)4)=>
(1234)
3)归并List(ncons,append)
(12)
dList='
(345)
eList='
(67)
append(cListdList)=>
(12345)
cList=>
(12)
dList=>
(345)
append函数只能归并两个List,而且不改变所归并List变量的值。
nconc(cListdListeList)=>
(1234567)
(34567)
eList=>
(67)
nconc函数能够归并多个List,但会改变所归并List变量的值。
List元素排序
1)倒序排列(reverse)
aList=reverse(aList)=>
(321)
anotherList='
(12(345)6)
reverse(anotherList)=>
(6(345)21)
anotherList=>
(12(345)6)
2)按条件排序(sort)
sort的书写格式为:
sort(l_datau_comparefn),其中第一个变量l_data为List量变量,第二个变u_comparefn为对照函数。
对照函数也能够是自概念函数。
sort('
(4321)'
lessp)=>
(dbca)'
alphalessp)=>
(abcd)
sort('
("
U5"
"
U10"
U1"
U2"
)'
axlStrcmpAlpNum)
=>
("
当List元素都是由List组成的时候,还能够利用sortcar函数对照子List的第一个元素排序。
sortcar('
((4four)(3three)(2two))'
lessp)
((2two)(3three)(4four)
((d4)(b2)(c3)(a1))nil)
((a1)(b2)(c3)(d4))
查找List元素
1)member函数
member函数从List到返回第一个元素查找到最后,若是找到返回找到的元素开始直到最后的元素,找不返回nil。
member(3'
(23435))=>
(3435)
member(6'
2)assoc函数
assoc函数的书写格式为:
assoc(g_keyl_alist),g_key变量为所查找的关键值,l_alist是为一个由多个List组成的List,格式为:
((key1value1)(key2value2)(key3alue3)...)。
assco返回查找到的子List。
((1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Allegroskill 大体 语法