Treść książki

Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
Anatomiaprogramu
29
tojednakzewzględunatematykętejksiążkipominiemyichszczegółoweomówienie.
Wartojednakwiedziećoichistnieniu6.
TrybinteraktywnyLua5.3
>print(type(print))
function
>print(type(io))
table
>print(type(io0stdin))
userdata
WkażdymzpowyższychprzykładówodwołujemysiędowbudowanychwLuawar-
tościpowiązanychzokreślonyminazwami.Więcejonazwachzwiązanychzdanymi
(zmiennych)powiemywparagrafie2.3.
WjęzykuLuawszystkiewartości,niezależnieodtypu,pierwszoklasowe.Ozna-
czato,żemogąonebyćprzypisywanedozmiennych,przekazywanedofunkcjijako
argumentyorazzwracaneprzeztefunkcje.Jaksięwkrótceokaże,niesietozasobą
szeregmożliwości.
2.2.2.Wyrażenia
Zwartościmożemybudowaćwyrażenia.Przykłademwyrażeniajestoczywiście
pojedynczawartość(np.
2
).Tewykorzystywanewpraktycejednakczęstobardziej
rozbudowane.Przykładowo,
2+3
jestjużwyrażeniemzbudowanymzdwóchwarto-
ścitypu
number
orazsymboluoperatoradodawania
+
.Naszmózgautomatycznie
utożsamiatowyrażeniezwartością5,reprezentującąsumęliczb2i3.Podobnie
jestwjęzykuLua-każdezrozumiałedlainterpreterawyrażeniejestprzekształcane
automatyczniedopostacipojedynczejwartościlubciągukilkuwartości,którychnie
możnajużdalejwżadensposóbprzekształcić.Ztegopowodumożemypowiedzieć
naprzykład,żewyrażenie
2+3
przyjmujelubmawartość
5
.Zkolejnychrozdziałów
dowieszsię,jaktworzyćwyrażeniaopartenaposzczególnychtypachwartości.
Większośćwyrażeńniejestinstrukcjamijęzyka,ponieważniemasamodziel-
negowpływunastanprogramu.ObliczenieprzezLuawartościwyrażenia
2+3
tobowiemzamało,abymożnabyłopowiedzieć,żeprogramcośzrobił.Konkretne
wartościnabierająsensudopierowtedy,gdyumieszczonewszerszymkontekście
(np.przekazywanedofunkcjijakoargumenty).Niemniejjednak,wprowadzanie
6
Wrozdziale8.przyjrzymysiębliżejmechanizmomobsługiwejściaiwyjścia.WjęzykuLuaopierają
sięonenastandardowychrozwiązaniachdostarczanychprzezjęzykansic,przezcowymuszająwyko-
rzystaniewartościtypu
userdata
.Będziemygojednaktraktowaćjakczarnąskrzynkę,nieanalizując
szczegółowocechtegotypu.