IOT TELEMATIKA
ВПК ПОТОК телематические решения 21 в
Функции
Для объявления функции достаточно написать её имя, принимаемые аргументы и её тело в фигурных скобках. Порядок объявления функции не важен. Функция может как возвращать значение (для этого используется оператор return<значение>), так и не возвращать.
main()
{
new res = myFunc(3, 5)
Diagnostics("Result %d", res) //В диагностике будет строка Result 10
}
//Пользовательская функция
myFunc(a, b)
{
a += 2
return a + b //Возвращаемое значение
}
По умолчанию аргументы передаются в функцию копированием. Но также можно передать их по ссылке. Для этого используется оператор &в объявлении аргументов:
/Пользовательская функция
myFuncRef(&a, b) //Аргумент *a* будет передан по ссылке, аргумент *b* будет передан копированием
{
...
}
Передача массивов в функцию всегда автоматически происходит по ссылке. Для этого в объявлении аргументов функции необходимо указать переменную-массив:
myArrayFunc(buf{}, size)
{
for(new i = 0; i < size; i++)
Diagnostics("Buf[%d] = %d", i, buf{i})
}
main()
{
new buf{3} = {1, 2, 3}
myArrayFunc(buf, 3)
}