管理及程式設計指南

FUNCTION 區塊

FUNCTION 區塊含有 HTML 區塊所呼叫之函數的宣告。函數是由語言環境來處理,可執行程式、SQL 查詢或儲存程序。

下列範例顯示兩個 FUNCTION 區塊。一個定義外部 REXX 程式的呼叫, 另一個則含有列入 REXX 陳述式。

%{ ********************** FUNCTION 區塊 **********************************%}
%FUNCTION(DTW_REXX) rexx1 (IN input) returns(result) { <-- 此函數接受
                                                       一個參數,並傳回
                                                       變數 'result',這是                                                       variable 'result', which is
                                                       外部 REXX 程式指定的
                                                       變數
     %EXEC{ompsamp.cmd %}  <-- 函數會執行名稱如下的外部 REXX 程式:
                                "ompsamp.cmd"
%}
 
%FUNCTION(DTW_REXX) today () RETURNS(result) {
      result = date()  <-- 此函數的單一來源陳述式
                           包含於列入程式中。
%}

第一個函數區塊 (rexx1) 為一個 REXX 函數宣告,它會執行名為 ompsamp.cmd 的外部 REXX 程式。 一個輸入變數 input 是由此函數來接受,且自動地傳送至外部 REXX 指令。 REXX 指令也會傳回一個稱為 result 的變數。 REXX 命令中 result 變數的內容, 會置換 OUTPUT 區塊中呼叫的 @rexx1() 函數呼叫。變數 inputresult 可由 REXX程式直接存取, 請參閱 ompsamp.cmd 的原始程式:

/* REXX */
result = 'REXX 程式從巨集中收到 "'input'"。'

此函數中的程式碼會對傳給它的資料做出回應。 您可以使用一般的 mark-up 樣式標籤 (例如 <b> 或 <em>), 括住要求的 @rexx1() 函數呼叫,以根據自己的意思製作結果本文的格式。 不使用 result 變數,而是使用 REXX SAY 陳述式, REXX 程式即可將寫好的 HTML 陳述式以標準格式輸出。

第二個函數區塊,也參照 REXX 程式 today。不過, 本例中的整個 REXX 程式包含在其本身的函數宣告中。不需要一個外部程式。 REXX 和 Perl 函數都可接受列入 (inline) 程式, 這是因為它們皆為解譯過的語言,可動態解析及執行之。 列入程式不需用到另一個程式檔來管理,因此具有簡便上的好處。 第一個 REXX 函數也已用列入方式處理。


[ 頁面頂端 | 前一頁 | 下一頁 | 目錄 | 索引 ]