IBM Books

管理与程序设计指南,OS/400 版

FUNCTION 块

FUNCTION 块包含了对 HTML 块所调用的函数的说明。 函数由语言环境处理,可以 执行程序、SQL 查询或存储过程。

以下示例显示了两个 FUNCTION 块。一个定义对外部 REXX 程序的调用, 另一个包含内联的 REXX 语句。

%{ **********************   FUNCTION 块  **********************************%}
%FUNCTION(DTW_REXX) rexx1 (IN input) returns(result) { <-- 该函数接受
                                                       一个参数并返回变量 "result",它是
                                                       由外部 REXX 程序指定的
     %EXEC{ompsamp.mbr %}  <-- 该函数执行一个名为 "ompsamp.mbr" 的外部 REXX 程序
%}
 
%FUNCTION(DTW_REXX) today () RETURNS(result) {
      result = date()  <-- 该函数的单独的源语句包含在内部。
%}

第一函数块 rexx1 是一个 REXX 函数说明,它依次运行一个 名为 ompsamp.mbr 的 外部 REXX 程序。输入变量 input 被该函数接受并自动传送至外部 REXX 命令。REXX 命令 还返回变量 result。REXX 命令中的变量 result 的内容代替 OUTPUT 块中包含的调 用的 @rexx1() 函数调用。REXX 程序可直接访问 inputresult 变量, 正如 ompsamp.mbr 源码 中所显示的那样:

/* REXX */
result = 'The REXX program received "'input'" from the macro.'

该函数中的代码回送传送给它的数据。您可以通过用一般“标记”风格的标记(象 <b> 或 <em>)括起请求的 @rexx1() 函数来按您的需要格式化结果文本。 与 result 变量相比,REXX 程序宁愿使用 REXX SAY 语句来将 HTML 标记写入标准输出。

第二个函数块也引用一个 REXX 程序 today。 但是,在此情况下,整个 REXX 程序都包含在本身的函数说明中。不需要外部程序。REXX 和 Perl 函数都允许内部程序,因为它们 是解释语言,可以动态语法分析和执行。 内部程序的优点是简明,不需要一个程序文件来管理。 第一个 REXX 函数也可以内部处理。


[ 页的顶部 | 上一页 | 下一页 | 目录 | 索引 ]