Функция в программировании это своего рода переменная, контейнер. Только в отличии от переменной функция хранит не значение, но участок кода, который может быть вызван в любом подходящем месте программы, неограниченное количество раз.
Объявляется функция следующим образом. [тип возвращаемого значения] [имя функции] [тип и имена получаемых параметров] [код функции].Правила именования функции, аналогичны правилам именования переменных.
Код: Выделить всё
int calculator(int a, int b){
return a + b;
}
Параметры функции, объявленные внутри круглых скобок, являются локальными и доступны только внутри функции.
Функция может не иметь параметров. Тогда нужно просто оставить пустые круглые скобки.
Код: Выделить всё
int calc(){
return 0;
}
Корректный return
Код: Выделить всё
int func(){
int i = 10 + 5;
return i;
}
Код: Выделить всё
int func(){
int i = 10 + 5;
Point p = Point.get(0, i);
return p;
}
Код: Выделить всё
void func(int x, int y){
click(x, y);
}
Например, click(0, 0) это как раз и есть вызов функции. Эта функция не возвращает значения то есть перед именем указано void. Называется, как вы уже догадались, click и принимает два значения типа int. Чтоб каждый раз не описывать словами функцию, в программировании используется сигнатура функции.
Сигнатура функции это краткое описание функции, которое позволяет любому программисту понять, как нужно взаимодействовать с незнакомой функцией. Важно понять и запомнить сейчас, как правильно читать сигнатуру функции. Потому что во всех последующих статьях вам придется постоянно сталкиваться с ними.
Сигнатура функции click выглядит следующим образом
Код: Выделить всё
void click(int, int);
Код: Выделить всё
Point findImg(Image);
Кроме встроенных функций, в скриптах вы можете создавать и использовать собственные. Это бывает крайне удобно, когда в вашем скрипте много однотипного повторяющегося кода. Этот код можно вынести в функции и вместо 10 строчек кода, писать только одну строку с вызовом функции. Нужно отметить один важный момент, функция в скрипте должна быть описана до своего вызова. Если вы попытаетесь вызвать функцию выше ее описания, скрипт упадет с ошибкой.
Типичный пример использования функций
Код: Выделить всё
boolean hasAnimal(){
return hasImg(kat) || hasImg(dog) || hasImg(mouse);
}
//…
//…
while(!hasAnimal()){
sleep(1000);
}
// bla bla bla
if(hasAnimal())
click(x, y);
В следующей статье мы будем учиться искать ошибки в своих скриптах, а так же отлаживать готовые скрипты, которые работают некорректно.