Cadence Skill 论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 19757|回复: 19

关于Skill中的List(一)

[复制链接]
发表于 2013-3-23 01:23:23 | 显示全部楼层 |阅读模式

Skill中的list是一个收集的SKILL数据的对象,和数组有点类似,但是list不会指定list的大小。在SKILL编程中,list会经常使用到。


list中的元素可以是任意数据类型。一个list可以包含任意多个对象(包括空)。比如,一个list可以包含变量及其他list。list必须在一对括号中。


下面举几个简单的list例子:
(a b c) ;这是一个list,包含三个字符 a 、b、c
(1);一个list,包含单个元素 1
( );空list
(1 (2 3) 4);这是一个list,该list的第二个元素包含另外一个list

下面介绍如何创建list:

1.使用单引号逐个指定元素创建list。

2.使用list函数指定参数来传递元素的值

3.使用cons函数向已经存在的list中添加一个元素

4.使用append函数合并两个list


append与cons之间区别:

两个函数都将创建一个新的list。必须将新创建的list存放在一个变量中,使用该变量调用新创建的list。

但是cons仅需要第二个参数为一个list,append则要求两个参数都为list。

当list包含元素比较多时,append执行会比cons慢很多。



以下是创建list的几个例子:


通过给定每个元素值来创建list ("=>"为返回值)

‘(1 2 3) =>(1 2 3)

a=1 =>1

b=2 =>2

list(a b 3 ) =>(1 2 3)


使用cons函数在一个list的最前面添加新的元素
result = '( 2 3 ) => ( 2 3 )
result = cons( 1 result ) => ( 1 2 3 )

使用append函数合并两个list
oneList = '( 4 5 6 ) => ( 4 5 6 )
aList = '( 1 2 3 ) => ( 1 2 3 )
bList = append( oneList aList) => ( 4 5 6 1 2 3 )



发表于 2013-3-23 08:06:42 | 显示全部楼层
学习了。不错
发表于 2013-5-1 20:12:57 | 显示全部楼层
不错,不错,虽然对我这个初学者来说很难,但是我会努力的,希望得到你们的帮助。
发表于 2013-7-16 16:42:36 | 显示全部楼层
非常不错,这些基础很有用
发表于 2013-7-17 08:32:54 | 显示全部楼层
很有用,基础要要先打牢。。。
发表于 2013-7-17 16:28:12 | 显示全部楼层
学习了,不错
发表于 2013-9-11 22:17:44 | 显示全部楼层
学习一下,虽然还不是很懂
发表于 2013-9-11 22:18:50 | 显示全部楼层
学习一下,学习一下,学习一下
发表于 2014-5-17 22:22:37 | 显示全部楼层
挺好的  和c很类似
发表于 2014-5-27 16:06:45 | 显示全部楼层
goooooooooood
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|网站地图|Cadence Skill 论坛 ( 蜀ICP备13024417号 )

GMT+8, 2024-11-23 20:46 , Processed in 0.299310 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表