jennyjin 发表于 2014-3-11 10:09:08

skill中-> 和 ~> 的作用

请问skill中-> 和 ~> 分别是什么作用啊?
我看英文版的实在是看不懂在说什么啊:'(
请各位大大帮忙告知一下,十分感谢

vivienluo 发表于 2014-3-11 21:13:11

->操作符主要用于读写某个symbol的属性值,而~>除了->具有的功能外,还可以读取LIST中symbol的属性值。
举个例子:
defstruct(bBox lx ly ux uy);定义一个结构体bBox,用于存储BOX的坐标信息
a = make_bBox(?lx 0 ?ly 0 ?ux 10 ?uy 10);给a赋值
b = make_bBox(?lx 10 ?ly 10 ?ux 20 ?uy 20);给b赋值
c = make_bBox(?lx 10 ?ly 10);给c赋值
d = make_bBox(?ux 20 ?uy 20);给d赋值
boxList = list(a b c d)
;分别使用->和~>来获取值,->和~>此处的功能一样
Skill > a->??
(uy 10 ux 10 ly
    0 lx 0
)
Skill > b->??
(uy 20 ux 20 ly
    10 lx 10
)
Skill > c->??
(uy nil ux nil ly
    10 lx 10
)
Skill > d->??
(uy 20 ux 20 ly
    nil lx nil
)
;使用~>来获取list中的值,而->是无法获取到的。请注意其中的区别!
Skill > boxList->??
(bBox@0xe435068 bBox@0xe435078 bBox@0xe435088)
Skill > boxList~>??
(
    (uy 10 ux 10 ly
      0 lx 0
    )
    (uy 20 ux 20 ly
      10 lx 10
    )
    (uy nil ux nil ly
      10 lx 10
    )
    (uy 20 ux 20 ly
      nil lx nil
    )
)
Skill > boxList->lx
nil
Skill > boxList~>lx
(0 10 10 nil)

chuankay 发表于 2014-3-12 00:40:16

版主回复总是这么负责任,我看贴一个只要动机是看看版主怎么回复的。
我觉得~>能做到的事,->都可以做到,刚开始避免纠结可以一直用->,不会影响你发挥的。

sosoben 发表于 2014-3-20 16:20:26

vivienluo 发表于 2014-3-11 21:13 static/image/common/back.gif
->操作符主要用于读写某个symbol的属性值,而~>除了->具有的功能外,还可以读取LIST中symbol的属性值。
举 ...

有个问题,在做UI的时候,用到 hiGetBannerMenus(args->window ) 这里的 “ -> ”是什么作用呢?

vivienluo 发表于 2014-3-20 19:16:01

sosoben 发表于 2014-3-20 16:20 static/image/common/back.gif
有个问题,在做UI的时候,用到 hiGetBannerMenus(args->window ) 这里的 “ -> ”是什么作用呢?

获取args的window属性

superking18 发表于 2014-11-12 00:04:16

坛主威武,深刻学习了!
页: [1]
查看完整版本: skill中-> 和 ~> 的作用