Movatterモバイル変換


[0]ホーム

URL:


Przejdź do zawartości
Wikipediawolna encyklopedia
Szukaj

REXX

Z Wikipedii, wolnej encyklopedii
REXX
Pojawienie się

1983

Paradygmat

wieloparadygmatowy

Aktualnawersja stabilna

ANSI X3.274
(1996) [±]

Twórca

Mike Cowlishaw

Multimedia w Wikimedia Commons

REXX (ang.REstructured eXtended eXecutor) – proceduralny interpretowanyjęzyk programowania zaprojektowany przez Mike’a Cowlishawa. Jego składnia jest zbliżona dojęzyka angielskiego. Po raz pierwszy pojawił się na platformie VM/SP Relase 3 w 1983 roku.

Dużą zaletą tego języka jest możliwość zastosowania go jakojęzyka programowania wsadowego w różnychsystemach operacyjnych orazjęzyka skryptowego dla różnych środowisk iaplikacji. REXX charakteryzuje się dużym zestawemwbudowanych funkcji o naturalnych nazwach iargumentach, posiada tablice dynamiczne, nie trzebadeklarowaćzmiennych i określać ichtypów. Na podstawie REXX-a powstały dwajęzyki obiektowe NetRexx i ObjectRexx dla tych trzech języków (REXX, NetRexx, ObjectRexx) obowiązuje zasada "write once, run anywhere". Przy pomocy wizualnych środowisk zdarzeniowego programowania w REXX-ie (np.VisPro/Rexx, GpfRexx, VX Rexx) można w bardzo prosty sposób tworzyć aplikacje z interfejsem graficznymGUI.ARexx, implementacja języka Rexx dlaAmigaOS iMorphOS, jest integralnym elementem tych systemów. Bardzo duża część oprogramowania dla AmigaOS/MorphOS jest wyposażona w porty ARexxa. Ta cecha znacznie rozszerza możliwość programów i umożliwia komunikowanie się ich między sobą.

Zaimplementowany jest na wszystkich znaczącychplatformach firmyIBM:

Można go używać także na platformach niezwiązanych z IBM jak:

Składnia

[edytuj |edytuj kod]

Instrukcja warunkowaIF

IF [warunek] THEN     [instrukcja]   ELSE     [instrukcja]

Przykład wykorzystania instrukcji warunkowej:

/* If varM jest większe od 10,   then say "It's true". W przeciwnym przypadku, say "It's not true". */varM = 5 + 2IF varM > 10 THEN    SAY "It's true." ELSE     SAY "It's not true."

Operatory porównania

=równe
<mniejsze
>większe
<=mniejsze lub równe
>=większe lub równe
<>większe lub mniejsze (nierówne)
\= lub^=nierówne
\<niemniejsze
\>niewiększe

SELECT jest używany w przypadku kiedy ma sięwykonać jedna z kilku możliwych instrukcji warunkowych (pozostałe zostają pominięte).

/* Sprawdź varM dla różnych wyrażeń ale wykonaj tylko jedną instrukcję dla wyrażenia */SAY "Enter a number"PULL varMSELECT   WHEN varM = 10 THEN SAY "It's equal to 10."   WHEN varM < 10 THEN SAY "It's less than 10."   WHEN varM < 20 THEN SAY "It's less than 20."END

Pętla Aby zaimplementowaćpętle w języku Rexx należy użyć wyrazów DO oraz END. DO wskazuje na początek pętli i jest umieszczane przed pierwszą instrukcją w pętli, natomiast END kończy pętlę i jest umieszczane po ostatniej instrukcji w pętli.Standardowa pętla

 DO UNTIL [warunek]     [instrukcje]   END   DO WHILE [warunek]     [instrukcje]   END

Inne przykłady wykorzystania pętli:

/* Powtórzy "Hello" 10 razy */DO 10   SAY "Hello"END

Wykorzystanie słowa FOREVER spowoduje wykonanie siępętli nieskończenie wiele razy. Taką pętle można przerwać przy pomocyinstrukcji opuszczeniaLEAVE

/* Słowo "Hello" będzie powtarzane nieskończenie */DO FOREVER   SAY "Hello"END----DO FOREVER    [instrukcja]    IF [warunek] THEN LEAVE   END

Przykładowy program

[edytuj |edytuj kod]

Należy pamiętać, że każdy program w REXX'ie rozpoczyna się odkomentarza. Jakorozszerzenie pliku przyjmuje się ".rexx" lub ".rex".

/* REXX Calculator *//* program główny */                                            say "Please enter two numbers"                                 parse pull a b . /* wczytanie zmiennych a i b z klawiatury */if b <>"" then                                                   if \(datatype(a,number) & datatype(b,number)) then               say "a or b isn't a number"                                else                                                           call Sub1 a b /* wywołanie procedury Sub1 */else                                                             say "b is empty"                                             Exit                                                           /* procedura */                                                Sub1:                                                            say "At" TIME() "on" DATE() "user" USERID() "entered" a "and" b  say a "+" b "=" a + b  say a "-" b "=" a - b  say a "*" b "=" a * b  say a "/" b "=" a / b  say "divided by" b "is" a%b "with remainder of" a//breturn

Zobacz też

[edytuj |edytuj kod]

Linki zewnętrzne

[edytuj |edytuj kod]
Języki programowania
1GL
2GL/
Język drugiej generacji/
Asembler
3GL /
Język trzeciej generacji
wieloparadygmatowe
proceduralne
istrukturalne
historyczne
inne
obiektowe
funkcyjne
edukacyjne
4GL/
Język czwartej generacji/
Język dziedzinowy
Języki zapytań do baz danych
Generatory raportów / stron
Przetwarzanie danych, analiza i raportowanie
5GL/Logiczne
Ezoteryczne
Inne
Źródło: „https://pl.wikipedia.org/w/index.php?title=REXX&oldid=78002373
Kategorie:

[8]ページ先頭

©2009-2026 Movatter.jp