Niet-ondersteunde en gereserveerde syntaxis
Deze mogelijkheden kun je tegenkomen in andere talen of in ontwerpplannen voor Pliro. Ze zijn nu geen beschikbare Pliro-syntaxis. Je hoeft ze niet te leren om te beginnen.
- Een typeannotatie zet de waardesoort in de code, zoals
laat score: Number = 0. Een resultaattype, zoals-> Number, benoemt de uitkomst van een functie. breakzou een lus vroeg stoppen;continuezou naar de volgende ronde springen;passzou een lege opdracht voorstellen.elifbetekent nog een voorwaardelijke tak;switchenmatchkiezen tussen gevallen.- Periodieke timers herhalen met tussenpozen. Gebeurtenissen voor aanwijzerbeweging/slepen, GPIO-veranderingen en sprites zouden op die acties reageren. Alleen de nu beschreven gebeurtenisvormen werken.
- Een klasse beschrijft objecten met gegevens en gedrag. Een methode is een functie bij een object; een constructor richt een nieuw object in. Overerving hergebruikt het ontwerp van een andere klasse. Een apart recordtype zou een vaste verzameling benoemde velden beschrijven.
- Een anonieme functie, of lambda, is een functie zonder gedeclareerde naam.
- Async/await en taken beschrijven in sommige talen werk dat kan pauzeren terwijl ander werk doorgaat. Threads zijn afzonderlijke uitvoerstromen; kanalen geven berichten daartussen door; synchronisatie stemt het gebruik van gedeelde gegevens af. Deze syntaxisvormen zijn niet beschikbaar; Pliro heeft wel samenwerkende gebeurtenisscripts.
- Exceptions, of uitzonderingen, laten code een fout melden die andere code kan afhandelen.
try,catch,throwenfinallyzijn bijbehorende vormen in andere talen. - Verkorte toekenning, zoals
+=, combineert rekenen en wijzigen. Increment/decrement betekent met één verhogen of verlagen. Gebruik de gewone opdrachtzet. - Een standaardparameter heeft een vooraf gekozen waarde; een benoemd argument wordt op naam gekoppeld; een optionele parameter mag ontbreken; een variadische parameter accepteert een wisselend aantal argumenten; een getypeerde parameter heeft een typelabel. Eigen functies gebruiken nu een vast aantal argumenten op volgorde. Sommige ingebouwde functies hebben wel hun eigen beschreven optionele argumenten.
- Tekstinterpolatie vult waarden op speciale invulplekken in tekst in. Ruwe tekst zou de gewone verwerking van escapetekens overslaan; meerregelige tekst zou over bronregels doorlopen. Deze vormen en tekst tussen enkele aanhalingstekens zijn niet beschikbaar.
- Een slice kiest een deel van een lijst; een comprehension maakt een lijst met een korte lusachtige expressie; een range beschrijft een reeks, bijvoorbeeld de gehele getallen van één tot tien. Deze verkorte vormen en rechtstreeks over een Map lopen zijn niet beschikbaar.
- Externe pakketten zijn herbruikbare code van buiten het project. Een importalias geeft een ingelezen module een andere naam. Netwerkafhankelijkheden oplossen betekent benodigde pakketten automatisch zoeken en downloaden. Gebruik de beschreven projectmodules.
- Een datumliteral zou een kalenderdatum als eigen waardesoort opschrijven. Datumwaarden en datuminvoer zijn niet beschikbaar.
- Macro’s en metaprogrammering tijdens compilatie maken of veranderen code terwijl het programma wordt gebouwd. Voorwaardelijke compilatie neemt afhankelijk van bouwvoorwaarden andere code op.
Gereserveerd betekent dat een schrijfwijze voor mogelijk taalgebruik is vrijgehouden. Pliro herkent -> als token, maar heeft er nu geen geldige grammaticaregel voor. Een ontwerpvoorstel betekent niet dat een mogelijkheid al werkt.
Gerelateerde lemma’s
Syntaxis en waarden · Ingebouwde functies · Programmeergidsen
