📜  Rexx-子例程(1)

📅  最后修改于: 2023-12-03 15:34:43.274000             🧑  作者: Mango

Rexx 子例程

什么是 Rexx 子例程?

Rexx 的子例程是一种自定义函数,可以在 Rexx 程序中多次调用。子例程可以完成相对独立的任务。它们通常以自包含的方式编写,并接受参数以提供自定义行为。

如何定义 Rexx 子例程?

Rexx 子例程定义如下:

/*REXX*/
SUBROUTINE name
  [ ARG(argm1, argm2, ...) ]
  [ local_var1, local_var2, ... ]
  instruction1
  instruction2
  ...
  instructionN
RETURN

其中,name 是子例程的名称,argm1, argm2, ... 是传递给子例程的参数,local_var1, local_var2, ... 是子例程中定义的局部变量,instruction1 - instructionN 是子例程的逐行指令。

子例程必须以 RETURN 语句结束,以返回传递给它的值。

以下是一个简单的 Rexx 子例程示例,用于计算两个数的和:

/*REXX*/
SUBROUTINE add_numbers
  ARG(num1, num2)
  
  sum = num1 + num2
  
  RETURN sum
如何使用 Rexx 子例程?

调用 Rexx 子例程可以使用以下语法:

CALL name [arg1, arg2, ...]

其中,name 是已定义的子例程名称,arg1, arg2, ... 是传递给子例程的参数。

以下是一个简单的 Rexx 程序示例,演示如何调用上述 add_numbers 子例程:

/*REXX*/
num1 = 5
num2 = 10

CALL add_numbers num1, num2

在这个示例中,调用 add_numbers 子例程将返回变量 sum 的值,该值将被输出到 Rexx 解释器中。

如果传递的参数数量不匹配会发生什么?

如果传递给 Rexx 子例程的参数数量不匹配,则会发生错误。这可能会导致 Rexx 程序中止执行。

总结

Rexx 子例程是 Rexx 程序中的可重用自定义函数。通过传递参数和返回值来实现自定义行为。它们是组织大型 Rexx 程序并使其易于维护的重要工具。