Я делегирует задачу проверки, чтобы увидеть, если значения равны в function
, который затем может быть вызван из mixin
так, что они оба есть единый ответственность.
@function check_values($values...) {
$counter: 0;
@if (nth($values, 1) != nth($values,2)) {
$counter: 0;
}
@else {
$counter: $counter + 1;
@for $i from 2 to length($values) {
$counter: if(nth($values, $i) == nth($values, $i + 1), $counter + 1, $counter);
}
}
@return if($counter + 1 == length($values), true, false)
}
В function
возвращает либо истинный или ложные и может быть использован на любом количестве арг
@debug check_values(2,2,1,1,2,2); //false
@debug check_values(2,2,2); //true
@debug check_values(2,2,2,1); //false
function
просто должен быть вызван в mixin
@mixin cols($width...) {
@if (check_values($width...)) {
// do something
}
}
Надеюсь, что это поможет