![]() |
1.6 Mi a REXX?A REXX egy programnyelv, amelyet Michael Cowlishaw tervezett az IBM angliai laboratóriumában. A legtöbb programozási nyelvhez hasonlóan, a REXX lehetôvé teszi a programok világos, strukturált megírását. Azonban, a REXX mint makró (script) nyelv is használható. Az OS/2 1.3-as verziója óta minden egyes példány tartalmazza a REXX programozási nyelvet. A REXX nem korlátozódik kizárólag az OS/2-re, ugyanis létezik REXX interpreter DOS, UNIX, VMS vagy például AmigaOS operációs rendszerek számára is. A REXX alapjaira épül az Object REXX (OREXX), amely az objektum orientált programozás elemeivel egészíti ki az alap REXX-et és a tervek szerint az újabb OS/2 verziókban ez lesz az új makró nyelv. A Warp 4-tôl kezdve mind a normál REXX, mind pedig az Object REXX megtalálható az OS/2-ben. A REXX változatok között a SWITCHRX paranccsal lehet váltani. Ha az Object REXX WPS támogatását is használni szeretnénk, akkor a WPINST paranccsal regisztráltatni kell két új osztályt. Amennyiben visszaváltunk REXX-re, a regisztráció törlôdik. A SWITCHRX parancs kiadása után mindig újra kell indítani a gépet, hogy a változtatás aktivizálódjon. A REXX nyelvet könnyû tanulni, mivel más programozási nyelvekbôl már ismert szavakat, parancsokat használ. Legyen az egyszerû, vagy komoly programozási probléma, a REXX mindig hatékonyan használható. OS/2 alatt, a REXX programokat OS/2 szekcióban kell futtatni. A köteg (batch) fájlokhoz hasonlóan minden REXX program .CMD kiterjesztéssel rendelkezik. Ami viszont a közönséges köteg fájltól megkülönbözteti a REXX programot, az a fájl elsô sora: minden REXX programnak egy megjegyzés (comment) sorral kell kezdôdnie. Az alábbiakban a híres "Hello World!" példaprogram, igen egyszerû REXX-es változatát tekinthetjük meg: /* Hello World! példaprogram */ SAY "Hello World!" EXIT Más programnyelvekhez hasonlóan, használhatunk mindenféle típusú változót, IF-ELSE konstrukciókat, DO-END hurkokat vagy akár OS/2 parancsokat is egy REXX programban: /* REXX program, amelyik elszámol egy darabig és elindítja az editort. */ SAY "Meddig számoljak?" PULL i IF i < 1 THEN DO SAY "A megadott szám kisebb mint 1." EXIT END ELSE SAY "A számolás folyamatban..." DO j = 1 to i SAY "Szám=" j END e.exe EXIT Ezen felül, rendelkezésre állnak az úgynevezett REXX segéd-függvények, azonban ezeket elôbb be kell tölteni egy CALL utasítással. Az alábbi példaprogram bekér egy nevet és egy ilyen névvel ellátott gyûjtôt (folder) készít a munkaasztalon (desktop): /* REXX program, amelyik készít egy foldert a desktopon. */ CALL RxFuncadd 'SysLoadFuncs', 'RexxUtil', 'SysLoadFuncs' CALL SysLoadFuncs SAY "Add meg a folder nevét!" PULL név SAY "A folder készítése folyamatban..." Dummy=SysCreateObject('WPFolder',név,'<WP_DESKTOP>','OBJECTID=<test_folder>') EXIT Ha a fenti két program bármelyikét átmásoljuk egy .CMD kiterjesztésû fájlba, akkor máris kész van az elsô REXX programunk. A második példa alapján készíthetünk egy olyan programot is, amelyik a munkaasztal beállítások elvesztése esetén visszaállítja az eredeti objektumokat. (Ugyanezt a célt szolgálja a Krim Kruse Hansen által írt WPS2Rexx/2 program.) A REXX nyelv szintaktikájáról és a parancsokról jó leírást találhatunk az OS/2 Warp On-Line Help-jében, az OS/2 Procedures Language2/REXX címû "könyvben". Ha a program futtatásakor hibaüzenetet kapunk, akkor az üzenet száma alapján további információhoz juthatunk a help program segítségével. Ha például a hibaüzenet száma REX0041 volt, akkor a parancssorba a HELP REX41 parancsot kell begépelnünk. Más operációs rendszerekhez ingyen is beszerezhetünk REXX interpretereket. UNIX (és VMS) rendszerekhez a REGINA és REXX/imc programokat tölthetjük le. A REGINA-t Anders Christensen írta és az ftp.pvv.unit.no site-on találhatjuk meg. A másodikként említett interpretert a SunOS operációs rendszerekhez készítette Ian Collier és sok más interpreterrel egyetemben a rexx.uwaterloo.ca site-ról tölthetô le, a /pub/freerexx alkönyvtárból. DOS operációs rendszerhez a Bill Vlachoudis-féle BREXX interpretert használhatjuk. A PC-DOS alapállapotban tartalmaz REXX interpretert. Szintén létezik a REXX Linux portja is, amelyet Supoj Choachaicharoenkul készített. Az Interneten is nagyon sok információforrást találhatunk. A Useneten, a comp.lang.rexx newsgroup-ban feltehetjük REXX-szel kapcsolatos kérdéseinket. Idônként lehet olvasni REXX-rôl szóló cikkeket a comp.os.os2.programmer.misc és a comp.sys.amiga.programmer csoportokban is. Magyarul tudóknak érdemes elolvasni az OS/2-es információs központban található, igen részletes REXX tanfolyamot is. A REXX elônyeirôl és hátrányairól találhatunk leírásokat REXX-szel foglalkozó WWW site-okon.
A témához kapcsolódó más oldalak:
|