Programmeren in REXX/Syntaxis

Uit Wikibooks

Ga naar: navigatie, zoek

WSBN


Inhoud

[bewerken] Lussen

De DO-structuur begint altijd met DO en eindigt met END:

DO UNTIL:

   do until [conditie]
   [instructies]
   end


DO WHILE:

   do while [conditie is waar]
   [instructies]
   end


Door een variabele lopen:

   do i = x to y by z
   [instructies]
   end


Eindeloze lus tot eruit springen met LEAVE:

   do forever
     if [conditie] then leave
   end

Een lus een vast aantal keren doorlopen:

   do i = x to y by z for a
   [instructies]
   end

[bewerken] Condities

Condities testen met IF:

   if [conditie] then
     do
     [instructies]
     end
   else
     do
     [instructies]
     end

Voor enkelvoudige instructies kunnen DO en END worden weggelaten:

   if [conditie] then
     [instructie]
   else
     [instructie]

[bewerken] Meerdere condities testen

SELECT is de CASE-structuur van REXX

   select
     when [conditie] then
         [instructie]
     when [conditie] then
       do
         [instructies]
       end
     otherwise
       [instructies] of NOP
   end

NOP (=no operation) geeft aan dat er geen instructie moet worden uitgevoerd.

[bewerken] PARSE

De PARSE-instructie is erg krachtig. Deze combineert een aantal nuttige tekenreeksbewerkingen. De syntaxis is:

   parse [upper] bron sjabloon

bron geeft de bron aan:

  • arg (commandlinevariabele)
  • linein (toetsenbord)
  • pull (REXX-dataqueue)
  • source (OS/2-info over hoe een programma werd uitgevoerd)
  • value (een constante of functie) het woord with is verplicht om aan te geven waar een constante eindigt
  • var (een variabele)
  • version (versienummer)

en sjabloon (template) kan zijn:

  • een lijst van variabelen
  • kolomnaambegrenzers
  • letterlijke begrenzers

upper is optioneel; als het wordt gebruikt, wordt alles omgezet naar hoofdletters.

Voorbeelden:

Een lijst met variabelen gebruiken als sjabloon:

   myVar = "John Smith"
   parse var MyVar firstName lastName
   say "First name is:" firstName
   say "Last name is:"  lastName

laat het volgende zien:

   First name is: John
   Last name is: Smith

Een begrenzer als sjabloon gebruiken:

   myVar = "Smith, John"
   parse var MyVar LastName "," FirstName
   say "First name is:" firstName
   say "Last name is:"  lastName

levert het volgende op:

   First name is: John
   Last name is: Smith

Kolombegrenzers gebruiken:

   myVar = "(202) 123-1234"
   parse var MyVar 2 AreaCode 5  7 SubNumber
   say "Area code is:" AreaCode
   say "Subscriber number is:" SubNumber

laat dit zien:

   Area code is: 202
   Subscriber number is: 123-1234

Informatie afkomstig van http://nl.wikibooks.org Wikibooks NL.
Wikibooks NL is onderdeel van de wikimediafoundation.
Persoonlijke instellingen