|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Menu
Distributions (131)
bootable [55]
commercial [7] no-commercial [42] unclassified [20] [7]
Software (10844)
|
Vala: hello world a trochu té praktikyMinulý, první díl byl spíše přehlídkou jazyka Vala. Dnes budeme více praktičtí. Vytvoříme si jednoduchou ukázkovou aplikaci, podíváme se na konvenci psaní programu, nějaké ty základní prostředky (takové STL) a samozřejmě budeme kompilovat.
Hello world !A začneme hezky zostra, ať to má trochu šťávy. Nejjednodušší a nejznámější aplikace hello world, tedy ahoj světe by mohla vypadat třeba takto:
To by byla ale docela nuda, a přeci jen, funkce main by měla odpovídat nějakým standardům, tedy rozšíříme:
Tento jednoduchý příklad nám ukazuje hned několik typických přístupů. Hlavní funkce main vrací číslo typu int a přijímá pole stringů. Pole stringů lze iterovat použitím slova foreach. Zápis je podobný C++, konec konců stejně jako v C++ je uveden i zápis pole stringů. Na konci každého příkazu je uveden středník. Protože je uveden návratový typ funkce, je nutné funkci ukončit vrácením hodnoty daného typu. Stdout je statický objekt třídy A konečně šestý a sedmý řádek názorně ukazuje, jak je možné dobrat se dvojí cestou k jednomu výsledku. Pravdou samozřejmě je, že použití druhé, pro jazyk C typické varianty je o něco méně náročnější na výsledný C kód. Ovšem co je optimálnější pro výsledný assembler, resp. binárku jsem nezkoumal. Kompilace snadno a rychleJak jsem v minulém díle naznačil, kompilátor valac, jakožto zatím jediný kompilátor jazyka Vala, umožňuje kompilaci různým způsobem. Ten nejjednodušší způsob je prostě zavolat kompilátor s názvem zdrojového souboru.
Kompilátor soubor přímo zkompiluje do výsledné binární podoby. Spustitelný soubor se nečekaně jmenuje
Při psaní aplikace se programátor málokdy obejde bez různých knihoven. Tyto knihovny jsou ve vale přístupné jako tzv. balíčky. Funguje to tak, že pro knihovnu je vytvořen soubor V minulém díle jsme také probíraly, že kompilátor valac, vlastně generuje C soubory a ty pak kompiluje C kompilátorem. Volby Poslední parametry, na které se dnes podíváme jsou Za domácí úkol si můžete zkusit vygenerovat zdrojový c soubor. Při letmé studii výstupního souboru zjistíte, jak Vala vlastně pracuje. A přeci jen, studovat zdrojový c soubor je snazší, než assembler :) Konvence a syntaxPsaní programu v jazyce Vala jsou dle mého názoru intuitivní a autoři jazyka nevymýšleli žádné nové druhy zápisů pokud nemuseli. A když už to udělali, inspirovali se jinde. Tedy, názvy tříd začínají velkými písmeny. V případě víceslovných názvů pak každé slovo začíná velkým písmenem Názvy metod a funkcí a proměnných se píší malými písmeny. V případě víceslovných názvů se slova oddělují podtržítkem Jako jiné jazyky i Vala podporuje namespace. Ten je uvozen klíčovým slovem namespace a zapisuje se stejně jako název tříd nebo výčtového typu. Veškeré cesty v takto definované struktuře se oddělují tečkou a to platí i pro výčtové typy. Zápis tedy vypadá takto:
Výše popsaný zápis podrobně vysvětlím v dalších článcích. Je dobré ale zmínit že namespace se nemusí stejně jako v C++ psát, pokud nejprve deklarujete, že tento namespace budete použivat. Použití namespacu deklarujete podobně jako v C++ slovem using, ovšem bez klíčového slova namespace:
Nejpoužívanější a v podstatě všudepřítomný namsespace je GLib. Ten je implicitně používán a proto není nutné jej explicitně jmenovat nebo deklarovat jeho používání slovem Z tohoto důvodu a i pro větší přehlednost budu dále používat názvy metod a tříd včetně jejich namespace. A to i v případě, že jde o standardní GLib namespace. Hello world porduhéNejprve kód:
Tento trochu výřečnější zápis, je brán jako pattern toho jak by to mělo vypadat. Jeho podoba asi nepřekvapí C# ani Java programátory, v podstatě se dá volně přeložit jako aplikace HelloWorld se standardní statickou metodou main. V praxi se pak zvláště v případě Gtk+ aplikací budeme setkávat s oněco zřejmějším použitím:
NekončímePříště si ukážeme práci s textem. Pokusíme se vytvořit konsolovou aplikaci, která bude pracovat s json v souboru. Bude ho umět rozšiřovat, měnit a vizualizovat. A samozřejmě se nebráním Vašim nápadům, které můžete napsat do komentářů. https://live.gnome.org/Vala/
Related article
Vala I. - poprvé, ale ne naposled Vala III: práce se soubory Vala 4: grafické rozhraní GTK+ Vala 5: GTK+ Kontejnery Previous Show category (serial) Next
|
Szukanie oprogramowania
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
©Pavel Kysilka - 2003-2024 | maillinuxsoft.cz | Design: www.megadesign.cz |