管理与程序设计指南

FUNCTION 块

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

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

%{ ********************** FUNCTION Block **********************************%}
%FUNCTION(DTW_REXX) rexx1 (IN input) returns(result) { <-- This function accepts
                                                       one parameter and returns the
                                                       variable 'result', which is
                                                       assigned by the external REXX
                                                       program
     %EXEC{ompsamp.cmd %}  <-- The function executes an external REXX program
                               called "ompsamp.cmd"
%}
 
%FUNCTION(DTW_REXX) today () RETURNS(result) {
      result = date()  <-- The single source statement for this function is
                           contained inline.
%}

第一函数块 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.'

该函数中的代码回送传送给它的数据。可通过用普通标记样式标记(如 <b> or <em>) 将请求 @rexx1() 函数调用括起来, 以便以您想要的任何方式来格式化结果文本。与 result 变量相比,REXX 程序宁愿使用 REXX SAY 语句来将 HTML 标记写入标准输出。

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


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