Programmeren in REXX/Fundamenten: verschil tussen versies
Verwijderde inhoud Toegevoegde inhoud
kGeen bewerkingssamenvatting |
Geen bewerkingssamenvatting |
||
Regel 42:
===Getallen===
Een getal is een reeks
Dit zijn allemaal geldige getallen:
17 98.07 -101 12.2e6 73e-128 '-17.9'
Regel 52:
Cijfers en het punt mogen niet als eerste voorkomen.
De term ''woorden'' moet dus in een brede context gezien worden, want er kunnen naast letters ook andere tekens voorkomen. In het Engels spreekt men van '''token'''s, en omdat de term ''woorden'' een meer beperkte betekenis heeft, zullen we deze Engelse term verder liever gebruiken.
Deze symbolen worden dan, naargelang hun plaats in het programma, geïnterpreteerd als variabelen of als instructies (commando's).
Regel 59:
De initiële waarde van een variabele is haar eigen naam in hoofdletters. Dus zal
say a
als resultaat <span style="color:red">A</span> op het scherm toveren. Maar gezien de fundamentele karakteristiek van REXX heeft het woord ''say'' eigenlijk de waarde <span style:"color:red">SAY</span>. Door de plaats in het programma is het voor REXX duidelijk dat hier het commando '''say''' moet worden uitgevoerd, en het niet gaat om een variabele.
In onderstaand voorbeeldje is het symbool '''do''' op de eerste instructie tweemaal gebruikt. De eerste maal is het een instructie en de tweede maal een variabele.
Regel 65:
say do
end
Dit is perfect geldig doch, omwille van de leesbaarheid, ten stelligste af te
===Instructies===
Regel 88:
waarbij het open-haakje zonder spatie na de functienaam moet komen.
Standaard bezit de REXX taal reeds een hele reeks standaardfuncties. Een opsomming zou ons hier dus te ver leiden.
Het is tenslotte mogelijk zijn eigen functies te schrijven (zie later).
say '''length'''("Dit is een tekst")
De functie '''length''' retourneert de lengte van zijn parameter. We verwachten hier dus een waarde 16 als antwoord.
===Leestekens===
Regel 103 ⟶ 105:
====Scheidingsteken====
/* Meerdere instructies op één regel */
Say "Hello" ; say "Nice weather, isn't it?"
Regel 131 ⟶ 133:
Deze variabelen zullen ten gepaste tijde meer uitleg krijgen.
==Stems
REXX kent een speciaal soort variabelen, namelijk '''stems''' genaamd. Ze laten o.a. toe om vectoren (arrays) en matrices te simuleren.
Een stem bestaat uit een geldig
Zoals voor andere variabelen zijn de basiswaarde van een stem zijn eigen naam in hoofdletters, dus ''JAN.'' en ''P.'' in voorbeeld.
Op deze manier is enkel een impliciete definitie gemaakt van een
Een '''samengestelde variabele''' is opgebouwd uit de naam van een stem en een symbool.
Regel 149 ⟶ 151:
Tijdens de uitvoering zal REXX het token (de tokens) na het punt interpreteren. Hebben we een constante, zoals in jan.7 dan is ''JAN.7'' de naam van het element van de stem ''JAN.''. Dit element heeft in ons voorbeeld de waarde 27 gekregen.
<br>In het geval van ''jan.hello'' komen we terug tot de fundamenten van REXX. ''hello'' is een variabele, die als waarde ''HELLO'' heeft (haar eigen naam in hoofdletters) gezien we er vooraf geen waarde aan hebben toegekend.
''JAN.HELLO'' is dus een element van de stem ''JAN.'' en zal de waarde ''Gisteren''
<br>In het geval van ''jan.i'' zal REXX zien dat ''i'' de waarde 5 bevat, zodat het element nu ''JAN.5'' zal noemen en de waarde 17 zal bevatten.
<br>In het geval ''jan.i.j'' tenslotte hebben beide i en j een waarde gekregen en
De dimensie van de stem wordt
Noteer dat we met een eenvoudige assignatie zoals
piet. = 'Onbekend'
alle elementen van de stem waaraan niet ''expliciet'' een waarde is toegekend deze ''standaardwaarde'' (default waarde) zullen hebben. Dus zullen zowel ''PIET.7'' als ''PIET.Morgen''
Merk tenslotte op dat
a="Dit is een hele volzin"
jan.a=17
|