Phetolelo e ncha ea moqapi oa puo ea lenaneo la Vala 0.50.4 e lokollotsoe. Lekala la tšehetso ea nako e telele (LTS) Vala 0.48.14 (e phuthetsoeng bakeng sa Ubuntu 18.04) le lekala la liteko Vala 0.51.3 le tsona li ntlafalitsoe.
Puo ea Vala ke puo ea lenaneo e shebaneng le ntho e fanang ka syntax e ts'oanang le C # kapa Java. Gobject (Glib Object System) e sebelisoa e le mohlala oa ntho. Taolo ea memori e etsoa ke beng (lihokelo tse nang le thepa / tse sa reroang) kapa ka ho sebelisa ARC (phatlalatso ea ba senyang le litheolelo tsa likhakanyo tsa litšupiso tsa ntho sethaleng sa ho bokella).
Puo e na le ts'ehetso bakeng sa ho itlhahloba, mesebetsi ea lambda, li-interfaces, baemeli le ho koaloa, matšoao le libaka, mekhelo, thepa, mefuta e seng ea lefeela, tlhahiso ea mofuta bakeng sa mefuta-futa ea sebaka. Thepa e tla le palo e kholo ea litlamo ho lilaebrari tsa C (vala-girs, vala-extra-vapis). Mananeo a Vala a fetoleloa ho boemeli ba C 'me a ntan'o hlophisoa ke moqapi o tloaelehileng oa C. Hoa khoneha ho tsamaisa mananeo ka mokhoa oa script.
Lethathamo la liphetoho:
- E kentse tšehetso e eketsehileng bakeng sa lentsoe la sehlooho la li-params bakeng sa bahahi ba sehlopha sa Foo{public Foo(params string[] args){foreach (var arg in args) print(arg); }}
- khoutu:
- Tšehetso e ntlafetseng bakeng sa lihahi tsa SimpleType (mohlala tse sebelisetsoang ho kopanya typedef uint32_t people_inside; ho tloha ho C) [SimpleType] [CCode (cname = "people_inside")] sebopeho sa sechaba PeopleInside : uint32 {}
- Ts'ebetso e ntlafalitsoeng ea tšobotsi ea "NoWrapper".
- CCode.type_cname le get_ccode_type_name() li lumelletsoe lihlopha.
- G_TYPE_INSTANCE_GET_CLASS/INTERFACE e sebediswa kamehla bakeng sa matshwao a kantle.
- E sebelisitsoe g_boxed_free ho free-wrapper ho fana ka GLib.Boleng bo bongata.
- E lokisitse ho dutla ha memori nakong ya ha ho buuwa ha GLib.Value (setshelo sa bokahohle sa mofuta ofe kapa ofe wa boleng).
- Lokisa ho dutla ha memori ha o isa sebopeho se abetsweng qubu ho sepakela.
- Lefa la mohatelli oa sebopeho sa motsoali le tiisitsoe
- Ho fumanwa hape ho nepahetseng ha symbol_reference of nested cast expressions ho ntlafalitsoe.
- E tlositse liketsahalo tsohle tsa CCodeCastExpression.
- E emisitse ka phoso sebatli sa lets'oao la kamehla.
- E hoketsoe "string.h" bakeng sa strcmp() (POSIX profil, mode eo Vala e hlahisang khoutu ka eona e sebelisa laebrari e tloaelehileng ea C feela).
- Vala:
- Mokhoa o ntlafetseng oa ho fumana lifaele tsa mohloli oa sephutheloana.
- Libaka/thepa ea GtkChild e tlameha ho phatlalatsoa hore ha e na thepa.
- Ho abela bocha sebaka/thepa ea GtkChild ha ho lumelloe.
- Ho sebelisitsoe boemo bo thata ho lambda ha e abela mosebetsi.
- Ho thibetsoe ho sebelisa lisebelisoa tsa SimpleType tse sebelisoang hang feela.
- GLib.Value unboxing e netefatsa hore boleng boo e seng ba motho bo khutlisitsoe.
- Ho lahlela GLib.Boleng ba mofuta o felloang ke letho/mofuta o bonolo ha oa lumelloa.
- Phehisano ea mofuta o kenyellelitsoeng ho hlahloba mefuta ea mantlha / maemo a pele a sebopeho.
- Ho haneloa ho nka va_list parameters/variables.
- Li-generic tse nang le sesupo sa sebopeho li tlameha ho etsoa mofuteng o nepahetseng ha li fumaneha ho qoba C UB.
- Tlhahiso ea mofuta o kentsoeng bakeng sa "in" ka hare ho enum.
- Ho hlahloba maemo a ntlafalitsoeng bakeng sa likabelo sebakeng se ngoloang.
- E kenyelelitsoe "stdlib.h" bakeng sa Enum.to_string() (POSIX).
- Mohloli o nepahetseng_reference o behiloe bakeng sa mefuta e sa tšoaneng "ena" le "sephetho"
- E fane ka molaetsa oa phoso bakeng sa tšebetso e fosahetseng ea ka hare ea lipolelo tse sa tloaelehang.
- Сodewriter: E emisitse ho eketsa trailing ";" ka mora mmele KaStatement.
- Girparser:
- Ts'ebetso ea moemeli ea sa tsejoeng e sa tšehetsoeng ke mokhoa oa sebele kapa lets'oao le fanoe.
- Metadata ea "delegate_target" e sebelisitsoeng bakeng sa mekhoa le liparamente
- Kenya "destroy_notify_cname" metadata libakeng
- Kenya "type_get_function" metadata bakeng sa litlelase le likhokahano
- Seta CCode.type_cname bakeng sa lihlopha haeba e se ea kamehla.
- girwriter: E netefatsa hore likarolo tsa paramethara tsa mohlala lia ngoloa.
- girwriter: E kentsoeng tšebetsong ea sesebelisoa sa lets'oao sa kamehla.
- libvaladoc/html: Ho tlositsoe ho hlophisoa ha likarolo tsa sebopeho ho siea tatellano ea bona ea mantlha ha ho etsoa litokomane tsa html valadoc.org
- libvaladoc: Netefatsa hore boleng ba Api.Class.is_compact bo nkiloe ka nepo
- libvaladoc: Sekoahelo se kentsoeng bakeng sa laeborari ea "agedge" ea graphviz
- Litlamo:
- Litokiso tse nyane ha ho etsoa litlamo: cairo, gobject-2.0, pango, goocanvas-2.0, thohako, alsa, bzlib, sqlite3, libgvc, posix, gstreamer-1.0, gdk-3.0, gdk-x11-3.0, gtk+-3.0, gtk+-4, 2.0. fuse, libxml-XNUMX
- gdk-pixbuf-2.0: Lokisa Pixbuf.save_to_streamv_async()
- gio-2.0: PollableOutputStream.write*_nonblocking() tokiso e tlamang
- gio-2.0,gtk+-3.0,gtk4: Litšobotsi tse hlakileng tsa mofuta oa c tsa li-parameter tsa va_list lia lahloa
- gio-2.0: Ho khethiloe invoker e sieo bakeng sa mekhoa e meng ea AppInfo/File.*()
- glib-2.0: E kentse GLib.[S]List.is_empty() mekhoa e bonolo bakeng sa non-null
- glib-2.0: Tlama mosebetsi oa assert_cmp* [#395]
- glib-2.0: Mofuta o ntlafetseng oa sebaka sa OptionEntry.flags
- glib-2.0: PtrArray e se e le karoloana ea GenericArray
- gstreamer-1.0: CCode.type_id ea MiniObject e hlophisitsoe ho G_TYPE_BOXED [#1133]
- gtk+-2.0,javascriptcoregtk-4.0: Tšebeliso e nepahetseng ea tšobotsi ea CCode.type_cname
- gtk+-3.0,gtk4: Lokisitse litekanyetso le liparamente tsa ho khutlisa baemeli
- gtk4: E ntlafalitsoe ho mofuta oa 4.0.2.
Source: opennet.ru