02 - Ciselne a znakove literaly
V tejto casti by som chcel popist pracu s literalmi. Literal je hodnota, ktora je natvrdo zapisana v kode programu. Ked napr. napisem styri znaky 36,4 v mojom programe, tak to znamena 36,4 a nic ine...Tu su zakladne typy literalov:
- Cisla - toto je uplne zakladny datovy typ
- Retazce - postupnost znakov, berie sa ako jeden celok
Ciselne literaly
Ciselne literaly sa v praxi pouzivaju velmi casto. Reprezentuju hodnoty s ktorymi pocita program.Priklad :
       35 - v desiatkovej sustave
       043 - v osmickovej sustave
       0x23 - v sestnastkovej sustave
       234.56 - desatinne cislo
       .0000004 - velmi male desatinne cislo:) ,tiez sa da zapisat ako 4E-7
Retazcove literaly
Tento druh literalov je urceny mnozinou znakov ohranicenou uvodzovkami --> mozu byt pouzite ako ucelena jednotka. Casto sa pouzivaju na to, aby reprezentovali mena suborov, uklada sa do nich vstup, velmi uzitocne su tiez pri pisani vystupov programu.- Retazce v jednoduchych uvodzovkach
' Toto je priklad jednoducheho literalu v obycajnych uvodzovkach '
Ak potrebujeme vlozit do vnutra tohto literalu specialny znak ako napriklad -->'<-- musime pouzit takzvany escape charakter. Teda ak chceme vypisat na obrazovku slovo ' can't ' musime to urobit takto: ' can\'t '
Dolezite upozornenie: ak literal v jednoduchych uvodzovkach obsahuje znaky konca riadku, tak tieto budu zachovane aj pri vypise na obrazovku !!!! - Retazce v dvojitych uvodzovkach
" Toto je priklad jednoducheho literalu v dvojitych uvodzovkach "
Lisi sa tym, ze povoluje pouzit niektore specialne "escape charaktery". Tu je tabulka aspon niktorych z nich:
Specialne znamky Popis \a Alarm\bell \b Backspace \e Escape \f Form Feed \n NewLine \r Carriage Return \t Tab \v Vertical Tab \$ Dollar Sign \@ Ampersand \0nn Any Octal byte \xnn Any Hexadecimal byte \cn Any Control character \l Change the next character to lower case \u Change the next character to upper case \L Change the following characters to lowercase until a \E sequence is encountered. Note that you need to use an uppercase E here, lowercase will not work. \Q Quote meta-characters as literals \U Change the following characters to uppercase until a \E sequence is encountered. Note that you need to use an uppercase E here, lowercase will not work. \E Terminate the \L, \Q, or \U sequence. Note that you need to use an uppercase E here, lowercase will not work. \\ Backslash
- Retazce v spetnych uvodzovkach
Dalo by sa polemizovat, ze tieto retazce vlastne nie su datove typy - neobsahuju totiz data v pravom slova zmysle. Sluzia takmer vyhradne na vykonanie systemovych prikazov.
Priklad:
       print `dir *.*`;
vypise obsah aktualneho adresara.