EDA365电子论坛网
标题:
十天学会Skill之第二天
[打印本页]
作者:
deargds
时间:
2010-1-27 17:53
标题:
十天学会Skill之第二天
本帖最后由 deargds 于 2010-1-27 17:58 编辑
十天学会Skill之第二天
By deargds
https://www.eda365.com
学习目的:了解SKILL的一些基础,变量,函数,以及流程控制。
一,我们先了解以下几种数据类型,
整数:integer例如:2, 8, 6
浮点数:float例如:2.3, 9.3265, 0.5, .8,
字符串:string例如:“Hello!”
原子类型:atom例如:t , nil , unbound
链表:list例如:
list
(1,2,3) '(1,2,3)
给变量赋值,除了使用=之外,还可以使用
set
函数.
set(a,"hello")
数据类型可使用type函数来查询
例如:a = 1
那么
type
(a)的返回值为fixnum
a = "string"
type
(a)返回值为string
另外链表类型非常有用,在skill中有一系列的函数是针对链表操作的,示例如下:
a = list(5,6,7);定义链表a,内容为5 6 7.
如果想得到链表中第一个值,使用
car
函数即可,
car
(a)的结果为5
另外还有
append1,cons,remove,reverse,nth
等许多函数,大家自己先看HELP吧。
X:\Cadence\SPB_15.7\doc\sklanguser\sklanguser.pdf
其它数据类型如
symbol,defstruct,array
等请参考
X:\Cadence\SPB_15.7\doc\sklanguser\sklanguser.pdf
二,函数的定义
1.通常使用defun或者procedure来自定义一个函数,两者的作用是一样的,区别只在乎在书写格式的差别
defun(test ()
;you can do something
)
procedure(test()
;you can do something
)
上面两句同样是定义了一个test函数,defun定义时在函数名后要有一个空格。
2.局部变量的定义,使用let或prog函数,如果不需要在函数内使用跳转函数或者返回值的话使用let即可。
defun(test ()
let((a)
;you can do something
)
)
上面示例中使用let定义了a为局部变量,其它函数无法访问。
3.函数的参数类型@rest @optional @key
@rest不确定数目的参数,可以有多个参数。
defun( test ( @rest a )
println(a)
)
@optional可选择的参数,在调用该函数时,可以忽略此参数。
defun(test (@optional a )
println(a)
)
@key指定参数的固定值。
defun(test (a b @key (c 3))
println(c)
)
ps:@optional 与 @key 不能同时出现在函数参数定义中。
三,流程控制
1.条件判断if when cond unless,
双向判断
if( 3 > 1 then
println("You know too much!")
else
println("hehe")
)
when( 3 > 1
println("You know too much!")
)
unless( 3 < 1
println("You know too much!")
)
;多向判断
cond(
(2 > 0 ,println(2))
(3 < 0 ,println(3))
)
2.循环语句while for foreach
;while示例
i = 0;定义i的初值为0
while((i <= 10)
i = i + 1;自加一次
println(i)
)
;for示例
sum = 0;定义sun的初值为0
for( i 1 10
sum = sum + i;自加一次
println(sun)
)
;foreach语句,方便用来循环链表类型
foreach( x '(1 2 3 4)
println(x)
)
3.选择语句case caseq
i = 5 + 6
case( i
(5 println("no"))
(11 println("yes"))
(t 'Other)
)
上面简单介绍需要了解的基本知识,另外想学好SKILL,帮助文件是一定要看的,这个教程只是帮大家入门,不可能过多地去重复教程上已经有的内容。
X:\Cadence\SPB_15.7\doc\sklanguser\sklanguser.pdf
X:\Cadence\SPB_15.7\doc\sklangref\sklangref.pdf
作者:
defir
时间:
2010-1-27 18:07
写的很明了
作者:
tmlee
时间:
2010-1-27 18:45
很用心!支持!
作者:
wg2005
时间:
2010-1-27 22:47
楼主的帖子实在是写得太好了。文笔流畅,修辞得体,深得魏晋诸朝遗风,更将唐风宋骨发扬得入木三分,能在有生之年看见楼主的这个帖子。实在是我三生之幸啊。看完楼主的这个帖子之后,我竟产生出一种无以名之的悲痛感——啊,这么好的帖子,如果将来我再也看不到了,那我该怎么办?那我该怎么办?直到我毫不犹豫地把楼主的这个帖子收藏了,我内心的那种激动才逐渐平静下来。可是我立刻想到,这么好的帖子,倘若别人看不到,那么不是浪费楼主的心血吗?经过痛苦的思想斗争,我终于下定决心,牺牲小我,奉献大我。我要拿出这帖子奉献给世人赏阅,我要把这个帖子一直往上顶,往上顶!顶到所有人都看到为止!
作者:
wg2005
时间:
2010-1-27 22:48
作者:
raphael
时间:
2010-1-28 15:17
感谢楼主分享~
作者:
叫布什动我啊
时间:
2010-1-29 11:46
看的额一头雾水啊
作者:
叫布什动我啊
时间:
2010-1-29 11:47
先慢慢看,学习下
作者:
phicialy
时间:
2010-1-29 14:39
学习了,感谢LZ
作者:
yfh1297
时间:
2010-1-29 17:50
学习中,感谢楼主
作者:
foxconnwj
时间:
2010-1-29 19:55
Thanks a lot.
作者:
CarolZhan
时间:
2010-9-21 10:51
很有用!~duoxie分享
作者:
zmj2008
时间:
2010-9-27 15:52
继续支持LZ
作者:
szbluefly
时间:
2011-2-15 17:12
第一天是入门,第二天就开始详解了,继续学习
作者:
连天白云流星
时间:
2011-12-26 11:24
赞一个
作者:
kay
时间:
2012-1-5 21:16
鼓励鼓励
作者:
promissingwh
时间:
2012-2-3 11:20
明了
{:soso_e179:}
作者:
zzhzzhzzh100
时间:
2012-3-8 22:13
1111111111111111111111111111111111
作者:
jjmhere
时间:
2012-4-9 22:21
谢谢楼主啊,帖子太好了!@
作者:
xuyongshuang
时间:
2012-4-10 17:38
非常棒
作者:
apricot
时间:
2012-8-21 19:23
谢谢楼主~
作者:
jekyllcao
时间:
2012-8-23 14:16
怎么没有第三天啦!请楼主赶快更新,呵呵!
作者:
hanshuangmollia
时间:
2012-11-17 14:20
学习了,楼主辛苦了
作者:
wuyuhe
时间:
2015-9-15 08:43
谢谢,努力学习中
作者:
墨客的秋天
时间:
2015-12-23 22:16
感谢楼主分享~
作者:
墨客的秋天
时间:
2015-12-23 22:18
感谢楼主分享~
作者:
akl1111
时间:
2016-3-4 17:32
作者:
dengbaba
时间:
2016-3-23 09:32
谢谢楼主了
作者:
happyliangkeshu
时间:
2016-7-13 00:01
好吗?这个啊
作者:
Jerry1019
时间:
2016-7-27 09:15
感謝分享!
作者:
craig206
时间:
2016-11-13 11:07
学习了
作者:
mentorkk
时间:
2016-11-14 13:37
感谢楼主分享
作者:
挑战极限
时间:
2016-11-30 18:22
Over了,看不懂E文
作者:
chdam
时间:
2016-12-7 14:09
感謝版主,謝謝
作者:
EDALee
时间:
2016-12-21 22:29
继续
作者:
frankyon
时间:
2017-6-8 11:10
赞楼主了!可以出本书了~
作者:
渐行渐远渐无书
时间:
2017-6-8 13:48
一头雾水额
作者:
夕阳下_g7oc6
时间:
2017-6-16 16:20
感谢
作者:
夕阳下_g7oc6
时间:
2017-6-16 16:20
上班都在学
作者:
夕阳下_g7oc6
时间:
2017-6-16 16:20
很强大
作者:
夕阳下_g7oc6
时间:
2017-6-16 16:50
:)
作者:
夕阳下_g7oc6
时间:
2017-6-16 16:50
:):)
作者:
夕阳下_g7oc6
时间:
2017-6-16 16:50
:):)
作者:
startlin
时间:
2017-6-18 11:18
謝謝分享
作者:
夕阳下_g7oc6
时间:
2017-6-19 12:03
打卡
作者:
weigz
时间:
2017-6-19 12:27
谢谢分享
作者:
夕阳下_g7oc6
时间:
2017-6-19 13:36
:):)
作者:
夕阳下_g7oc6
时间:
2017-6-19 13:36
:)
作者:
夕阳下_g7oc6
时间:
2017-6-19 13:36
:):)
作者:
yzh007123
时间:
2018-7-18 13:38
赞一个
作者:
liyucai
时间:
2023-12-21 14:34
好,确实通俗易懂。
作者:
Ampan
时间:
2025-6-15 18:42
第一天是入门,第二天就开始详解了,这效率
欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/)
Powered by Discuz! X3.2