Inguqulelo entsha yomqambi weVala yolwimi lwenkqubo 0.50.4 ikhululiwe. Inkxaso yexesha elide (LTS) yesebe iVala 0.48.14 (epakishwe kwi-Ubuntu 18.04) kunye nesebe lokuhlola i-Vala 0.51.3 nayo ihlaziywe.
Ulwimi lweVala lulwimi lwenkqubo olujolise kwinto ebonelela ngesivakalisi esifana neC# okanye iJava. I-Gobject (Inkqubo ye-Glib Object) isetyenziswa njengemodeli yento. Ulawulo lwenkumbulo lwenziwa ngobunini (amakhonkco angabanini/abangabanikazi) okanye kusetyenziswa i-ARC (ukufakwa endaweni yabatshabalalisi kunye nokuncipha kwezinto zokubala zesalathiso kwinqanaba lokudibanisa).
Ulwimi lunenkxaso ye-introspection, imisebenzi ye-lambda, i-interfaces, abathunywa kunye nokuvalwa, imiqondiso kunye neendawo zokubeka, ngaphandle, iipropati, iintlobo ezingezona ze-null, i-inference yohlobo lwee-variables zendawo. Ikhithi iza nenani elikhulu lezibophelelo kumathala eencwadi e-C (vala-girs, vala-extra-vapis). Iiprogram zeVala ziguqulelwa kumboniso we-C kwaye emva koko zihlanganiswe ngumqambi oqhelekileyo we-C. Kunokwenzeka ukuqhuba iinkqubo kwimodi yeskripthi.
Uluhlu lotshintsho:
- Inkxaso eyongezelelweyo yegama elingundoqo le-params kubakhi beklasi i-Foo yoluntu (i-params string[] args) {i-foreach (var arg in args) print(arg); }}
- ikhowudi:
- Uphuculo lwenkxaso yabakhi besakhiwo seSimpleType (umzekelo osetyenziselwa ukubopha i-typedef uint32_t people_inside; ukusuka ku-C) [SimpleType] [CCode (cname = "people_inside")] isakhiwo sikawonke-wonke PeopleInside : uint32 {}
- Ukuphathwa okuphuculweyo kweempawu ze-"NoWrapper".
- CCode.type_cname kunye get_ccode_type_name() zivumelekile kwiiklasi.
- I-G_TYPE_INSTANCE_GET_CLASS/INTERFACE isoloko isetyenziselwa iisimboli zangaphandle.
- Isetyenziswe i-g_boxed_free kwi-wrapper esimahla ukwabela i-GLib.Ixabiso kwimfumba.
- Kulungiswe inkumbulo evuzayo ngexesha lokungabhaxi kwe-GLib.Ixabiso (isikhongozeli sehlabathi lonke salo naluphi na uhlobo lwexabiso).
- Kulungiswe ukuvuza kwememori xa uhambisa isakhiwo esabelwe imfumba kwisitaki.
- Ilifa lomtshabalalisi wesakhiwo somzali liyaqinisekiswa
- Ukufunyanwa okuchanekileyo kwesimboli_yereferensi yeentetho ezifakwe kwindlwane kuphuculwe.
- Isuse zonke izehlo zeCCodeCastExpression.
- Iyeke ukufowuna ngendlela engalunganga isiphathi sophawu esihlala sihleli.
- Idityaniswe "string.h" ye-strcmp () (iprofayili yePOSIX, imowudi apho iVala ivelisa ikhowudi isebenzisa kuphela ilayibrari ye-C eqhelekileyo).
- Vala:
- Ukubonwa okuphuculweyo kweefayile zomthombo wepakethe ephindwe kabini.
- Iindawo/iipropati ze-GtkChild kufuneka zibhengezwe njengezingabanikazi.
- Ukwabela ngokutsha indawo/ipropati ye-GtkChild akuvumelekanga.
- Kusetyenziswe umqathango ongqongqo kwi-lambda xa udlulisela isabelo.
- Akuvumelekanga ukusebenzisa i-SimpleType-usetyenziso olunye lwezakhiwo.
- I-GLib.Value unboxing iqinisekisa ukuba ixabiso elingaphathwanga libuyisiwe.
- Ukuphosa i-GLib.Ixabiso kulwakhiwo olungasebenziyo/uhlobo olulula akuvumelekanga.
- Uhlobo lwengxabano eyongeziweyo kujongwa kwiintlobo zesiseko/udidi/ujongano lwangaphambili.
- Ukubamba i-va_list parameters/variables akuvumelekanga.
- Iigenerics ezinesalathi kwisakhiwo kufuneka ziphoswe kuhlobo oluchanekileyo xa zifunyenwe ukunqanda i-C UB.
- Ufezekiso lohlobo lothelekiso lwe-"in" ngaphakathi kwe-enum.
- Ukuphuculwa komxholo kujongwa izabelo kwindawo ebhalekayo.
- Ibandakanyiwe "stdlib.h" ye-Enum.to_string() (POSIX).
- Imvelaphi_yereferensi echanekileyo imiselwe ukwahluka okungafihlwayo "le" kunye "nesiphumo"
- Kunikezelwe ngomyalezo wemposiso kwi-operand engasebenziyo yangaphakathi yeentetho ezingaqhelekanga.
- Umbhali: Uyekile ukongeza umkhondo ";" emva komzimba ngeStatement.
- I-Girparser:
- Ukuqhubekeka komthunywa ongaziwa ongaxhaswanga yindlela yenyani okanye umqondiso unikiwe.
- Kufakwe "delegate_target" metadata yeendlela kunye neparameters
- Faka "destroy_notify_cname" imetadata kwiindawo
- Faka "type_get_function" imetadata kwiiklasi kunye nojongano
- Cwangcisa i-CCode.type_cname kwiiklasi ukuba asiyonto imiselweyo.
- girwriter: Uqinisekisa ukuba izinto zeparamitha zibhaliwe.
- girwriter: Iphunyeziwe yomphathi wesiginali engagqibekanga.
- libvaladoc/html: Ukhetho olususiweyo lwamasimi esakhiwo ukushiya iodolo yawo yoqobo xa kusenziwa uxwebhu lwehtml valadoc.org
- libvaladoc: Qinisekisa ukuba amaxabiso e-Api.Class.is_compact afunyanwa ngokuchanekileyo
- I-libvaladoc: Isisongelo esongeziweyo sethala leencwadi legraphviz "agedge".
- Izibophelelo:
- Ukulungiswa okuncinci xa uvelisa izibophelelo: i-cairo, i-gobject-2.0, i-pango, i-goocanvas-2.0, iziqalekiso, alsa, bzlib, sqlite3, libgvc, posix, gstreamer-1.0, gdk-3.0, gdk-x11-3.0, gtk+-3.0, gtk+-4, fuse, libxml-2.0
- gdk-pixbuf-2.0: Lungisa iPixbuf.save_to_streamv_async()
- gio-2.0: PollableOutputStream.write*_nonblocking() ukulungisa isibophelelo
- gio-2.0,gtk+-3.0,gtk4: Iimpawu zeempawu ze-c ezicacileyo ze-va_list parameters zilahliwe
- gio-2.0: Ekhethiweyo elahlekileyo invoker kwezinye AppInfo/Fayile.*() iindlela
- glib-2.0: Yongezwe i-GLib.[S]List.is_empty() iindlela eziluncedo zokunga-null
- glib-2.0: Ibophelela i assert_cmp* umsebenzi [#395]
- glib-2.0: Uphuculo loKhethoEntry.flags uhlobo lommandla
- glib-2.0: I-PtrArray ngoku iludidi olusezantsi lwe-GenericArray
- gstreamer-1.0: CCode.type_id yeMiniObject imiselwe kuG_TYPE_BOXED [#1133]
- gtk+-2.0,javascriptcoregtk-4.0: Usetyenziso oluchanekileyo lwe CCode.type_cname uphawu
- I-gtk+-3.0,gtk4: Lungisa amaxabiso okubuyisela abathunywa kunye neeparamitha
- gtk4: Ihlaziywe kuguqulelo 4.0.2.
umthombo: opennet.ru