Учебники

Rexx — Функции

Код в Rexx обычно делится на функции и подпрограммы. Использование функций помогает разделить код на множество логических единиц. Давайте посмотрим на эти функции подробно.

Определение функции

Синтаксис объявления функции следующий:

FunctionName: 
PARSE ARG arguement1, arguement2… arguementN 
Return value 

Куда,

  • Имя_функции — это имя, назначенное функции.

  • PARSE ARG — это ключевые слова в Rexx, которые используются, чтобы указать, что параметры передаются в функцию.

  • аргумент1, аргумент2… аргументN — это аргументы, переданные функции.

  • Возвращаемое значение — это значение, возвращаемое функцией.

Имя_функции — это имя, назначенное функции.

PARSE ARG — это ключевые слова в Rexx, которые используются, чтобы указать, что параметры передаются в функцию.

аргумент1, аргумент2… аргументN — это аргументы, переданные функции.

Возвращаемое значение — это значение, возвращаемое функцией.

Следующая программа является простым примером того, как функции используются в Rexx.

Live Demo

/* Main program */ 
say add(5,6) 
exit 
add: 
PARSE ARG a,b 
return a + b 

Следующие вещи должны быть отмечены о вышеупомянутой программе —

  • Мы определяем функцию с именем add, которая принимает 2 параметра a и b.

  • Функция использует оператор return для возврата суммы a и b.

  • Оператор выхода должен использоваться для обозначения конца основной программы.

Мы определяем функцию с именем add, которая принимает 2 параметра a и b.

Функция использует оператор return для возврата суммы a и b.

Оператор выхода должен использоваться для обозначения конца основной программы.

Результат вышеупомянутой программы будет следующим:

11

Работа с аргументами

В Rexx есть специальные функции, которые можно настроить для работы с аргументами. Давайте посмотрим на пару таких аргументов.

Arg

Этот метод используется для возврата количества аргументов, определенных для функции.

Синтаксис

arg() 

Параметры — Нет

Возвращаемое значение — этот метод возвращает количество аргументов, определенных для функции.

Пример

Live Demo

/* Main program */ 
say add(5,6) 
exit 
add: 
PARSE ARG a,b 

say arg() 
return a + b 

Вывод. Когда мы запустим указанную выше программу, мы получим следующий результат.

2 
11 

Arg (индекс)

Этот метод используется для возврата значения аргумента в определенной позиции.

Синтаксис

arg(index)

Параметр

  • Index — индекс позиции возвращаемого аргумента.

Index — индекс позиции возвращаемого аргумента.

Возвращаемое значение — этот метод возвращает значение аргумента в определенной позиции.

Пример

Live Demo

/* Main program */ 
say add(5,6) 
exit 
add: 
PARSE ARG a,b 

say arg(1) 
return a + b 

Вывод. Когда мы запустим указанную выше программу, мы получим следующий результат.

5 
11 

Рекурсивные функции

Рекурсивная функция или подпрограмма — это та, которая вызывает сама себя. Любая рекурсивная функция может быть закодирована традиционным нерекурсивным способом (или итеративно), но иногда рекурсия предлагает лучшее решение проблемы. Не все языки программирования поддерживают рекурсию; Rexx делает.

Давайте рассмотрим пример знаменитой факториальной программы, использующей рекурсивные функции в Rexx.

Live Demo

/* Main program */ 
do n = 1 to 5 
say 'The factorial of' n 'is:' factorial( n ) 
end 
return  

/* Function to get factorial */ 
factorial : procedure 
n = arg(1) 
if n = 1 then 
return 1 
return n * factorial( n - 1 ) 

Вывод вышеуказанной программы следующий: