EETOP 创芯网论坛 (原名:电子顶级开发网)
标题:
SKILL user guide上有一段看不懂
[打印本页]
作者:
瓦萊希特夸
时间:
2017-8-2 20:18
标题:
SKILL user guide上有一段看不懂
signalList = '(
( nil strength 1.5 )
( nil strength 0.4 )
( nil strength 2.5 )
)
sort( signalList
'lambda( ( a b )
a->strength <= b->strength
)
)
从sort关键字来看这应该是个排序函数,不过我把以上句子加一句printf建成il,在virtuoso里load之后,显示结果 ( nil strength 0.4 )这一项不见了。。。就是说signalList里只剩另外两项,很是迷茫。请问有没有大神解惑,
红色字体
函数是怎么个运行机制?
作者:
amodaman
时间:
2017-8-3 11:34
回复
1#
瓦萊希特夸
这段代码没问题,我试了一下,排序返回的list 成功做到了排序,见附件
(, 下载次数: 34 )
上传
点击文件名下载附件
作者:
amodaman
时间:
2017-8-3 11:37
回复
1#
瓦萊希特夸
这段排序代码的意思就是队列里面相邻的两个元素,按照strength的属性的值进行由小到大的排序
作者:
瓦萊希特夸
时间:
2017-8-3 13:58
回复
3#
amodaman
按照你的方法直接敲进CIW确实能得到和你一样的结果。
不过我写成il文件再load就会出现我说的结果,难道是我printf用错了吗?如图:
登录/注册后可看大图
登录/注册后可看大图
作者:
amodaman
时间:
2017-8-3 14:23
回复
1#
瓦萊希特夸
不管是不是敲进CIW输入行,还是用文件load的形式读进来,排序后的结果都没有错。你再看一下SKILL方面的基本问题吧...
作者:
瓦萊希特夸
时间:
2017-8-3 14:44
回复
5#
amodaman
刚才我的回复好像被吞了。。就用文字表述吧。
我用文件load在最后加了一行printf使结果显示出来,就少了0.4那项,是我printf用错了吗?
还有我想问为什么
a->strength
就能表示后面的那个数字?才学几天SKILL,望解答,不胜感谢!
作者:
superguy
时间:
2017-8-3 15:31
回复
6#
瓦萊希特夸
a->strength
得到的就是后面的数值。
这是个disembodied property list (DPL), 没记错的话是这样拼。
作者:
瓦萊希特夸
时间:
2017-8-3 15:44
回复
7#
superguy
我还没学习到这个点,感谢!
作者:
amodaman
时间:
2017-8-3 15:49
回复
6#
瓦萊希特夸
那肯定是你printf函数写错了呗
作者:
amodaman
时间:
2017-8-3 15:54
回复
6#
瓦萊希特夸
(, 下载次数: 33 )
上传
点击文件名下载附件
作者:
瓦萊希特夸
时间:
2017-8-3 17:39
回复
10#
amodaman
我printf signalList了,看来是原List在运算中被更改了,谢谢你!
作者:
amodaman
时间:
2017-8-3 17:49
回复
11#
瓦萊希特夸
sort函数确实会改动原始的输入变量,见附图中sort函数说明被我Highlighted的一段话。
(, 下载次数: 22 )
上传
点击文件名下载附件
作者:
瓦萊希特夸
时间:
2017-8-4 09:49
回复
12#
amodaman
感谢,之后的学习中遇到问题再请教咯!
作者:
瓦萊希特夸
时间:
2017-8-4 16:51
回复
7#
superguy
disembodied property list是一种特殊的list吗?只能是包含3个数值吗,因为我把nil去掉会报错,再加上一个数值也会报错。
欢迎光临 EETOP 创芯网论坛 (原名:电子顶级开发网) (https://bbs.eetop.cn/)
Powered by Discuz! X3.4