0

我正在尝试在 LESS 1.3.1 中实现递归循环。不管你最后应该做什么混入(它与颜色有关),但要注意为什么递归循环会失败。

@iter: 4;

.loop(@index, @n) when (@index <= @n) { // throws "expected expression"?
    .foo@{index} { color: black; }
    .loop(@index + 1, @n);
}

.loop(@index, @n) when (@index > @n) {
    .terminated { color: white; }
}

.loop(1, @iter);

混入.loop应该进行 4 次迭代,然后终止,做 a.terminated {}或某事。

4

1 回答 1

3

你有你的 = 和 > 错误的方式

更少的 Mixin Guards 文档

“可用于警卫的比较运算符的完整列表是:> >= = =< <。此外,关键字 true 是唯一的真值,使这两个 mixin 等效:”

.loop(@index, @n) when (@index <= @n)

应该

.loop(@index, @n) when (@index =< @n)
于 2012-12-04T19:01:18.257 回答