Loops 较少的循环变量始终设置为最后一个值

Loops 较少的循环变量始终设置为最后一个值,loops,less,Loops,Less,我有.less文件: @flag1: fr; @flag2: en; @flag3: ru; @iterations: 3; .loopingClass (@index, @difference: 0) when (@index < @iterations) { @idx: (@index + 1); @diff: (@difference - 32); (~".my-class-@{index}") { my-idx: @idx;

我有.less文件:

@flag1: fr;
@flag2: en;
@flag3: ru;

@iterations: 3;

.loopingClass (@index, @difference: 0) when (@index < @iterations) {
    @idx: (@index + 1);
    @diff: (@difference - 32);

    (~".my-class-@{index}") {
        my-idx: @idx;
        my-diff: @diff;
        my-index: @index;
        my-difference: @difference;
    }

    .loopingClass(@idx, @diff);
}

.loopingClass (@iterations) {}
.loopingClass (0);

我不是很擅长少,但我尽了最大的努力,并尝试了许多方法来让这个循环工作。我需要将
@idx
@diff
设置为1、2、3和-32、-64、-96。

我尝试了一些疯狂的方法使其工作,并意识到,在循环完成后(或smth.类似的情况下),解析所有内容可能会更少。所以我想,也许我应该尝试将
@idx
@diff
设置在循环之外。现在,我的代码看起来是这样的,并且它按照预期工作:

.classOutput(@index, @difference){
    @idx: (@index + 1);
    @diff: (@difference - 32);

    (~".my-class-@{index}") {
        my-idx: @idx;
        my-diff: @diff;
        my-index: @index;
        my-difference: @difference;
    }
}
.loopingClass (@index, @difference: 0) when (@index < @iterations) {
    .classOutput(@index, @difference);
    .loopingClass((@index + 1), (@difference - 32));
}
.classOutput(@index,@difference){
@idx:(@index+1);
@差异:(@差异-32);
(~“.my class-@{index}”){
我的idx:@idx;
我的差异:@diff;
我的索引:@index;
我的差异:@差异;
}
}
.loopingClass(@index,@difference:0)时(@index<@iterations){
.classOutput(@索引,@差异);
.loopingClass((@index+1),(@difference-32));
}


因此,对于新版本的LESS
(~“.my class-@{index}”)
抛出一个错误。这些更改应该会有所帮助,尽管没有对其进行测试:
.my class-@{index}
我尝试了一些疯狂的方法使其工作,并意识到,在循环完成(或类似于smth)后,解析所有内容可能会更少。所以我想,也许我应该尝试将
@idx
@diff
设置在循环之外。现在,我的代码看起来是这样的,并且它按照预期工作:

.classOutput(@index, @difference){
    @idx: (@index + 1);
    @diff: (@difference - 32);

    (~".my-class-@{index}") {
        my-idx: @idx;
        my-diff: @diff;
        my-index: @index;
        my-difference: @difference;
    }
}
.loopingClass (@index, @difference: 0) when (@index < @iterations) {
    .classOutput(@index, @difference);
    .loopingClass((@index + 1), (@difference - 32));
}
.classOutput(@index,@difference){
@idx:(@index+1);
@差异:(@差异-32);
(~“.my class-@{index}”){
我的idx:@idx;
我的差异:@diff;
我的索引:@index;
我的差异:@差异;
}
}
.loopingClass(@index,@difference:0)时(@index<@iterations){
.classOutput(@索引,@差异);
.loopingClass((@index+1),(@difference-32));
}

因此,对于新版本的LESS
(~“.my class-@{index}”)
抛出一个错误。这些更改应该会有所帮助,尽管没有对其进行测试:
.my class-@{index}