2016-11-04 4 views

ответ

0

Я делегирует задачу проверки, чтобы увидеть, если значения равны в 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 
    } 
} 

Надеюсь, что это поможет

Смежные вопросы