我已经注册了一个自定义标签,如果索引是奇数则返回 true,即使如下所示:
class OddEvenTag: BasicTag {
let name = "OddEven"
func run(arguments: ArgumentList) throws -> Node? {
guard
arguments.count == 1,
let index = arguments[0]?.int
else { return Node(nil) }
print(index, index & 1)
return Node((index & 1) == 1)
}
}
print 语句产生令人满意的良好输出:
0 0
1 1
2 0
3 1
...
但是,当我在叶子文件的#loop 中使用自定义标签时,例如
#OddEven(offset){hello}##else(){bye}
它总是实例化你好。我已经尝试将 false 硬编码到 return 语句中,它不会改变结果。我以前使用过(更复杂的)自定义标签,所以我知道它们可以工作。
如果您想知道,我真的很想使用标签来交替网格的行背景颜色!