IBM Books

Net.Data 管理与程序设计指南,OS/2、Windows NT 以及 UNIX 版

FUNCTION 块

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

下例显示两个 FUNCTION 块,它们分别定义一个对外部 REXX 程序的函数调用和一个 对宏文件中所包含的函数的函数调用。

%{ **********************   FUNCTION 块  **********************************%}
%FUNCTION(DTW_REXX) rexx1 (IN input) returns(result) { <-- 该函数接受
                                                       一个参数并返回一个
                                                       结果,该结果被关联的
                                                       函数调用所代替
     %EXEC{ompsamp.cmd %}  <-- 函数执行一个称为 "ompsamp.cmd" 的外部 REXX 程序
%}
 
%FUNCTION(DTW_REXX) today () RETURNS(result) {
      result = date()  <-- 该函数的单独的源语句包含在内部。
%}

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

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

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

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


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