Сегментирование кода на функции позволяет программисту создавать модульные фрагменты кода, которые выполняют определенную задачу, а затем возвращаются в область кода, из которой функция была «вызвана». Порой, такой инструмент существенно упрощает процесс программирования.

В этом простом базовом руководстве вы узнаете, как создавать свои собственные функции, или как их еще называют, методы.
Чтобы создать метод, нам сначала нужно создать новый скетч. Поместите его в новую папку с именем, например, «Learn Functions» и переименуйте скетч, допустим, в «First Method». Метод всегда объявляется вне void loop() или void setup().Вот пример того, как это должно выглядеть:
void MyFunction()
{ // вот код вашей функции, например:
// Serial.print (“This is my function”);
}
Эта функция ничего не возвращает (void), она только выполняет ряд действий. Между фигурными скобками указано, что должна делать функция. Чтобы вызвать вашу созданную функцию, вы должны поместить на нее ссылку в «void loop()». Вы вызываете ее, помещая имя своей функции в «void loop()».
void loop()
{
MyFunction();
}
void MyFunction()
{
Serial.print("This is my function");
}
Подождите секунду, void loop() выглядит как функция! Да, вы совершенно правы, это встроенный метод. Теперь вы узнали о типе "void", и мы познакомим вас с совершенно новым типом.
Теперь, когда вы знакомы с типом «void», вы узнаете новый способ использования функций. Но не волнуйтесь! Это не так уж и сложно. В этом примере мы вычисляем значение с двумя переменными, которые уже объявлены.
int x = 51;
int y = 7;
int outcome;
void setup()
{
}
void loop()
{
outcome = MultyplyNumbers();
}
int MultyplyNumbers()
{
return x * y;
}
Итак, перечислим, чем это отличается от void-метода: вместо void здесь int, в конце метода есть "return". Теперь возникает вопрос: что все это значит? Так, "int" означает, что метод должен возвращать целое число, подробнее о "return" позже. По сути это означает, что функция будет целым числом. «результат» является целым числом, поэтому наша функция также должна «быть» целым числом.
Оператор return – это то, что у функции должен быть конечный результат, в данном случае 357.
В последнем примере мы умножили два числа, но что, если бы у нас было много чисел, которые нужно умножить, что ж, для этого есть решение: аргументы. Аргумент помещается в фигурные скобки в имени вашего метода.
int a = 1;
int b = 7;
int c = 5;
int d = 8;
int outcome1;
int outcome2;
int outcome3;
void setup()
{
}
void loop()
{
outcome1 = MultyplyNumbers(a , b); //outcome1 = 7
outcome2 = MultyplyNumbers(c , d); //outcome2 = 40
outcome3 = MultyplyNumbers(outcome1 , outcome2); //outcome3 = 280
}
int MultyplyNumbers(int x , int y)
{
return x * y;
}
Теперь мы добавили аргументы, поэтому нашу функцию можно использовать с разными числами. В методе x и y являются аргументами, они могут быть заполнены при вызове метода.
Теперь, наверное, мы все можем согласиться с тем, что функции делают наш код более организованным, более компактным и более читаемым.
© digitrode.ru