меньше компилятор не работает с функцией извлечения - PullRequest
0 голосов
/ 04 июня 2019

после многих и многих тестов я не могу понять, почему функция "extract" или "at" меньше не работает. Я попытался использовать эти функции в моем файле меньше, но безуспешно.

file.less

@list: apple, pear, coconut , orange;
.test{
  color:extract(@list,0);
}
@backgroundcolors:{
  dark: #AA2222;
  blue: #AA3333
}
@colors: {
  bg-dark: #2f353b;
  bg-blue: #3598dc
}
each(@backgroundcolors, {

  .color-@{key}{
    background-color: @value;
    color: @index;

    a:at(@colors,bg-blue);
    b:at(@colors,"bg-blue");
    c:extract(@colors,0);
  }
});

file.css

    .test {
      color: extract(apple, pear, coconut, orange, 0);
    }
    .color-dark {
      background-color: #AA2222;
      color: 1;
      a: at(, bg-blue);
      b: at(, "bg-blue");
      c: extract(, 0);
    }
    .color-blue {
      background-color: #AA3333;
      color: 2;
      a: at(, bg-blue);
      b: at(, "bg-blue");
      c: extract(, 0);
    }

в моем результате .test содержит не только индекс 0, но и любой другой элемент в @list. в попытке sencod у меня есть три использования «at» или «extract» в каждом цикле, но всегда в этом случае я терпел неудачу. Теперь я использую lessc 3.9.0

Где я делаю не так?

1 Ответ

1 голос
/ 04 июня 2019

Индексы для функции extract начинаются с 1:

@list: apple, pear, coconut , orange;

a {
  value: extract(@list, 1); // value: apple
}

Использование карт :

@colors: {
  dark: #2f353b;
  blue: #3598dc;
}

a {
  color: @colors[dark]; // color: #2f353b
}

Понятия не имею, что означает at. 1013 *

...