====== Literály ======
Literály slouží pro přímou reprezentaci hodnot proměnných.
===== Číselné literály =====
Číselný literál je definován jako desetinné číslo nebo číslo o určitém základu (např. dvojkové). Znak podtržítko "_" vložený mezi číslicemi v číselném literálů není významné.
^Literál ^Příklad |
|Celé číslo |-12, 0, 123_4, +986 |
|Číslo v pohyblivé řádové čárce |0.0, 0.4560, 3.14159_26 |
|Číslo v pohyblivé řádové čárce s exponentem|-1.34E-12, -1.34e-12 |
|Dvojkové číslo |2#1111_1111 (255 decimal) |
|Osmičkové číslo |8#377 (255 decimal) |
|Hexadecimální číslo |16#FF, 16#ff (255 decimal) |
|Boolovské číslo |0, 1, FALSE, TRUE |
|S typem |INT#-123, WORD#16#AEF, BOOL#0, BOOL#FALSE|
Pozor: V jazyce FUPLA nejsou literály s formáty jiných číselných soustav, např. 16#FF, podporovány. Hodnoty je nutno zadávat v desítkové soustavě (např. 255).
Příklad:
REAL#+INF, REAL#-INF, LREAL#+INF, LREAL#-INF //literály specialních hodnot reálných čísel (+- nekonečno)
REAL#NAN, LREAL#NAN //literály specialních hodnot reálných čísel (neplatné číslo)
===== Znakové literály =====
Znakové literály jsou jedno nebo dvoubajtové zakódované znaky. Jednobajtový znakový literál je posloupnost žádného nebo více znaků s předponou a ukončením pomocí znaku jednoduché uvozovky ('). Dvoubajtový znakový literál je posloupnost žádného nebo více znaků s předponou a ukončením pomocí znaku dvojité uvozovky (").
| ^Literál ^Příklad |
|Jednobajtové znaky |Prázdný řetězec |'' |
| |Jeden znak |'A' |
| |Řetězec s typem |STRING#'OK'|
|Dvojbajtové znaky |Prázdný řetězec |"" |
| |Single character |"A" |
| |Typed string |STRING#"OK"|
|Dvojznakové kombinace|znak dolar |$$ |
| |apostrof |$' |
| |uvozovka |$" |
| |Line feed (nový řádek, 16#0A) |$L or $I |
| |Newline (nový řádek) |$N |
| |Form feed (nová strana) |$P |
| |Carriage return (návrat vozíku, 16#0D)|$R |
| |Tabulátor (16#09) |$T |
===== Časové literály =====
Reprezentují údaj o trvání, tj. o době, která uplynula nebo má uplynout v souvislosti s nějakou událostí. Jednotky jsou dny, hodiny, minuty, sekundy, zlomky sekund a také kombinace uvedeného.
^Literál^Popis |
|d |Den |
|h |Hodina |
|m |Minuta |
|s |Sekunda |
|ms |Milisekunda |
|us |Mikrosekunda|
|ns |Nanosekunda |
Příklad:
T#14ms, TIME#14ms, T#-14ms, LT#14.7s, t#25h15m, TIME#5m_20s_500ms
===== Časové literály absolutního času =====
^Literál ^Příklad |
|Datum |DATE#1984-06-25, date#1984-06-25, D#1984-06-25, d#1984-06-25 |
|Denní čas |TIME_OF_DAY#15:36:55.36, TOD#15:36:55.36 |
|Datum a čas|DATE_AND_TIME#1984-06-25-15:36:55.360227400, DT#1984-06-25-15:36:55.360227400|