Активный
- Тема Автор
- #1
Функции упрощают код. Разберем продвинутые техники.
Рекурсивные функции
Функции с переменным количеством параметров
Указатели на функции
Важные моменты:
- Используйте функции для переиспользования кода
- Документируйте функции
- Проверяйте параметры
- Оптимизируйте часто используемые функции
Продвинутые функции улучшают структуру кода!
Рекурсивные функции
Код:
stock Factorial(n)
{
if(n <= 1)
{
return 1;
}
return n * Factorial(n - 1);
}
// Использование
new result = Factorial(5); // 120
Функции с переменным количеством параметров
Код:
stock SumNumbers(count, ...)
{
new sum = 0;
for(new i = 0; i < count; i++)
{
sum += getarg(i + 1);
}
return sum;
}
// Использование
new total = SumNumbers(3, 10, 20, 30); // 60
Указатели на функции
Код:
stock ProcessArray(array[], size, callback[])
{
for(new i = 0; i < size; i++)
{
CallLocalFunction(callback, "i", array[i]);
}
}
forward ProcessElement(value);
public ProcessElement(value)
{
printf("Обработка: %d", value);
}
// Использование
new arr[5] = {1, 2, 3, 4, 5};
ProcessArray(arr, 5, "ProcessElement");
Важные моменты:
- Используйте функции для переиспользования кода
- Документируйте функции
- Проверяйте параметры
- Оптимизируйте часто используемые функции
Продвинутые функции улучшают структуру кода!