参数
- item:要对其属性进行迭代的对象的名称。
- attr:指定迭代哪些属性的匹配表达式。例如,“arc:*”。也可以使用该参数来迭代多值属性的值。
- prefix:枚举对象基于的前缀。
- expand:布尔值,指定当遇到多值属性时,arc:enum 如何执行。如果 expand 设置为 true,arc:enum 的主体会将属性中的每个值都执行一次。如果为 false,所有值将会串联在一个字符串值里,只执行单次迭代。默认情况下,arc:enum 不会展开所有值。
- sep[arator]:如果 expand 参数为 false,则用来连接多值属性值的分隔符。除此之外,如果未定义列表分隔符,则使用分隔符对列表中的值进行标记。默认值为换行符“\n”。
- list:要枚举的分隔值列表。例如,如果列表为 “violet,indigo,blue,green,yellow,orange,red” 且分隔符为 “,”,那么对每个颜色都将会执行 arc:enum 的作用域。
- range:以升序或降序枚举时字母或字符的范围;例如,“a..z”,“Z..A”。
可以指定 range 参数或 item 参数,但不能同时指定两者。属性按字母顺序枚举。
控制属性
- _attr: 被迭代的属性名称。当对多值属性进行迭代时,属性名称将相同,只是会包含索引作为名称的一部分。使用哈希符号(#)将名称和索引分隔开。例如,name#1,name#2等。
- _index:属性出现在对象中的索引或当前枚举元素在列表中的位置。
- _value:被迭代的属性的值。对于一个多值属性,expand 和 separator 参数设置决定了 _value 是对一个属性值的引用还是对所有属性值的引用。
- _count:在一个属性或一个列表中值的数量。
- _separator:列表中用来分隔值的分隔符。