热度 10| ||
1、如果任一操作符的左侧不是列表,则可以使用任一操作符。
2、当左边是列表时,有以下几种情况:
①当列表是一个非实体属性列表(a disembodied property list)时,必须使用->操作符,不要使用~>操作符。
②当列表是单独支持~>操作符的数据对象列表(a list of data objects)时,那么使用~>操作符构建槽值(slot values)列表。
例子:
假设cellList变量包含5个TrCell类型的defstruct实例。可以使用~>操作符检索这5个实例中每个currentState的值列表。
cellList~>currentstate => (ALIVE ALIVE)
在本例中,->操作符不合适,因为cellList变量不包含无实体的属性列表。