2017-02-05 4 views

ответ

0

Функции Variadic - это функции, которые принимают переменное количество аргументов. , например printf в c, или вы можете определить свою собственную функцию на многих языках. В java ... используются для определения аргументов переменной для функции. Точно так же в c также используется одно и то же.

void simple_printf(const char* fmt...){ 
va_list args; 
va_start(args, fmt); 

while (*fmt != '\0') { 
    if (*fmt == 'd') { 
     int i = va_arg(args, int); 
     std::cout << i << '\n'; 
    } else if (*fmt == 'c') { 
     // note automatic conversion to integral type 
     int c = va_arg(args, int); 
     std::cout << static_cast<char>(c) << '\n'; 
    } else if (*fmt == 'f') { 
     double d = va_arg(args, double); 
     std::cout << d << '\n'; 
    } 
    ++fmt; 
} 

va_end(args); 

}

это VARIADIC функция в с.

В этой связи вы сказали, что для вызова таких функций в ESLint перед новым обновлением необходимо использовать .apply(), но из нового обновления вы можете просто проигнорировать его и просто добавить ... перед параметром, который вы передаете, ссылка.

перед:

var args = [1, 2, 3, 4]; Math.max.apply(Math, args);

Сейчас:

var args = [1, 2, 3, 4]; Math.max(...args);

Теперь у не нужно использовать .Не()