首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> DB2 資料庫 >> DB2 教學

以 REXX 撰寫 DB2 Universal Database 腳本:快速入門 REXX 語言

     編輯:DB2 教學

若您在 IBM 作業系統開發過程式,必聽過 Rexx。Rexx 是 IBM 捆綁於大型主機、中型系統乃至手持裝置的腳本與命令語言。更鮮為人知的是,Rexx 几乎可在所有作業系統運行:Windows、Linux、UNIX、BSD、Mac OS、DOS、Windows CE、Palm OS、Symbian/EPOC32 皆有免費下載版本。學會 Rexx,即掌握一種從大型機到手持裝置皆可運行的通用腳本語言 — 功能強大適配大型機,彈性輕量適配嵌入式,且極易上手。

Rexx 极简示範

以下完整腳本讀取檔案逐行掃描「INVOICE OVERDUE」字串:

input = 'invoice_file.txt' /* 輸入檔名 */
do while lines(input) > 0  /* 還有行可讀 */
  input_line = linein(input)      /* 讀取下一行 */
  if pos("INVOICE OVERDUE", input_line) > 0 then
    say "Found it! Here's where:" input_line
  else
    say "Not found in this line:" input_line
end
  • 第一行賦值變數 input,字串可用單/雙引號括住
  • do while 迴配合內建 lines() 函數判斷檔案是否讀完
  • pos() 回傳字串出現位置(未找到回傳 0)
  • say 指令自動串接多操作數輸出至螢幕
  • 無需宣告變數、無需指定型別、檔案無需顯式開啟/關閉、語法自由格式、不分大小寫

為何 Rexx 容易上手

  • 動態無型別變數: 直接賦值即建立,內容決定型別。數值字串可直接運算,字串可直接操作,Rexx 透明轉換。
  • 隱式檔案處理: 讀寫檔案如同變數,無需 open/close。
  • 自由格式與不分大小寫: 縮排、空行、大小寫隨意。
a = 3
b = "4"
say a + b   /* 7 */
say a || b  /* 34 字串連接 */
c = "Hi!"
say a + c   /* 錯誤:非數值不可加 */

Rexx 強大的核心架構

  • 微小核心: ~20 條指令(do、if、select、call 等)
  • 豐富內建函數: ~70 個(字串、位元、數值、I/O、轉換、環境等)
  • 無縫外部擴展: 資料庫存取、GUI、XML、Web 服務、圖形、MIDI、登錄檔、語音合成、Apache 等 — 只要您能命名,Rexx 就能介接

Rexx 是典型「膠水語言」:輕鬆發送作業系統命令、串接現有代碼(命令、API、服務、物件、工具),產出遠超傳統編譯語言(C++、Java、COBOL)的生產力。

關鍵進階特性

  • 關聯陣列(複合變數): 下標可為字串,支援內容定址、字典查詢、鍵值對、鏈表、樹等高階結構
  • 完整控制結構: 結構化與非結構化(iterate、leave、signal 等)
  • 外部函數庫透明調用: 像呼叫內建函數一樣呼叫外部庫
  • 互動式除錯: 隨時暫停、檢查變數、修改代碼重跑
  • 異常處理: 捕獲語法/算術錯誤轉向自訂處理器
  • 外部資料隊列(堆疊): 程序間通訊機制,支援跨機器/網路通訊
  • 高可移植性: 嚴格語言標準,標準腳本可在 Linux/Windows/主機/手持裝置間無縫移植

主流免費 Rexx 解釋器

解釋器平台特色
Regina所有主流 OS最流行、社群大、免費工具鏈、豐富擴展函數、專業文檔 — 初學者首選
Rexx/imcLinux/UNIX/BSDUNIX/Linux 專用、長期支援
BRexxLinux/UNIX/Windows CE/Mac OS/DOS極快、低記憶體、資源受限系統適用
ReginaldWindowsWindows 專用擴展(GUI、語音、MIDI、媒體)、替代 VBScript
r4WindowsGUI 表單工具、彩色編輯器、135+ Windows 命令、XML→HTML 轉換器
Rexx for Palm OSPalm OS腳本存取所有 Palm 資源(TCP/IP、IrDA、USB、序列埠)

物件導向 Rexx

  • Open Object Rexx (ooRexx): IBM 開發、2004 開源、RexxLA 維護、最廣泛使用的 OO Rexx,支援完整 OOP 原則(繼承、多重繼承、封裝、多型),標準 Rexx 超集
  • roo!: r4 同公司產品、同樣豐富 Windows 工具、含教學對比標準與 OO Rexx

NetRexx:Java 平台上的 Rexx

唯一不遵循 Rexx 標準的「類 Rexx」實作。將 Rexx 易用性引入 Java:使用 Java 類、可生成 Java 類/Bean/註解代碼、支援 Applet/Servlet、客戶端/伺服器端、任意 JVM 運行。

後續預告

下一篇將深入 Rexx 程式設計技術細節,提供訪問 DB2 UDB 的實用腳本範例(採用 Regina Rexx + Windows DB2 UDB,介面可移植至 Linux/UNIX)。開源腳本語言的優勢在於海量免費參考資源 — 盡情撰寫腳本吧!

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved