Ua hoʻokuʻu ʻia kahi mana hou o ka mea hōʻuluʻulu no ka ʻōlelo papahana Vala 0.50.4. ʻO ka lālā kākoʻo lōʻihi (LTS) ʻo Vala 0.48.14 (i hoʻopaʻa ʻia no Ubuntu 18.04) a me ka lālā hoʻokolohua Vala 0.51.3 ua hōʻano hou ʻia.
ʻO ka ʻōlelo Vala he ʻōlelo hoʻolālā e pili ana i nā mea e hāʻawi ana i kahi syntax e like me C# a i ʻole Java. Hoʻohana ʻia ʻo Gobject (Glib Object System) ma ke ʻano he kumu hoʻohālike. Hoʻohana ʻia ka hoʻokele hoʻomanaʻo e ka ʻona (nā loulou nona / ʻole ʻia) a i ʻole ka hoʻohana ʻana i ka ARC (ka hoʻololi ʻana i nā mea luku a me ka hoʻohaʻahaʻa ʻana i nā helu kuhikuhi mea i ka pae hōʻuluʻulu).
Loaʻa i ka ʻōlelo ke kākoʻo no ka nānā ʻana, nā hana lambda, nā pilina, nā ʻelele a me nā pani ʻana, nā hōʻailona a me nā slots, nā ʻokoʻa, nā waiwai, nā ʻano ʻole-null, type inference no nā ʻano hoʻololi kūloko. Hele mai ka pahu me ka nui o nā mea paʻa i nā hale waihona puke ma C (vala-girs, vala-extra-vapis). Ua unuhi ʻia nā polokalamu Vala i ka hōʻike C a laila hōʻuluʻulu ʻia e kahi mea hōʻuluʻulu maʻamau C. Hiki ke holo i nā papahana ma ke ʻano palapala.
Papa inoa o nā hoʻololi:
- Hoʻohui ʻia ke kākoʻo hou no ka huaʻōlelo params no ka papa kūkulu hale Foo{ public Foo(params string[] args){ foreach (var arg in args) print(arg); } }
- codegen:
- Kākoʻo i hoʻomaikaʻi ʻia no nā mea kūkulu hale SimpleType (no ka laʻana i hoʻohana ʻia no ka hoʻopaʻa ʻana i ka typedef uint32_t people_inside; mai C) [SimpleType] [CCode (cname = "people_inside")] lehulehu struct PeopleInside : uint32 {}
- Hoʻomaikaʻi i ka lawelawe ʻana i ka ʻano "NoWrapper".
- ʻAe ʻia ka CCode.type_cname a me get_ccode_type_name() no nā papa.
- Hoʻohana mau ʻia ʻo G_TYPE_INSTANCE_GET_CLASS/INTERFACE no nā hōʻailona waho.
- Hoʻohana ʻia ka g_boxed_free i ka wrapper manuahi e hoʻokaʻawale iā GLib.Value ma ka puʻu.
- Hoʻopaʻa i kahi leka hoʻomanaʻo i ka wā o ka wehe ʻole ʻana i ka pahu o GLib.Value (kahi pahu ākea o kēlā me kēia ʻano waiwai).
- Hoʻopaʻa i kahi leak hoʻomanaʻo i ka wā e neʻe ai i kahi hale i hoʻokaʻawale ʻia i kahi pūʻulu.
- Hoʻoili ʻia ka hoʻoilina o ka mea luku o ka hale makua
- Ua hoʻomaikaʻi ʻia ka hoʻihoʻi pololei ʻana i ka symbol_reference o nā hōʻike hoʻolele pūnana.
- Wehe ʻia nā hanana pūnana a pau o CCodeCastExpression.
- Ua hooki hewa ke kelepona ʻana i ka mea hoʻohana hōʻailona paʻamau.
- Hoʻohui ʻia "string.h" no strcmp() (profile POSIX, ke ʻano e hana ai ʻo Vala i nā code me ka hoʻohana ʻana i ka waihona C maʻamau).
- Vala:
- Ua hoʻomaikaʻi ʻia ka ʻike ʻana i nā faila kumu pūʻolo pālua.
- Pono e haʻi ʻia ʻaʻohe kuleana o GtkChild kahua/waiwai.
- ʻAʻole ʻae ʻia ke kau hou ʻana i ke kahua GtkChild / waiwai.
- Ua hoʻohana ʻia kahi kūlana koʻikoʻi i ka lambda i ka wā e hāʻawi ana i kahi hana.
- ʻAʻole ʻae ʻia ka hoʻohana ʻana i nā hoʻolālā SimpleType hoʻohana hoʻokahi.
- ʻO ka unboxing ʻo GLib.Value e hōʻoia i ka hoʻihoʻi ʻia o ka waiwai ʻole.
- Kāpae ʻia ka hoʻolei ʻana iā GLib.Value i kahi ʻano hana nullable/ʻano maʻalahi.
- Hoʻohui ʻia ka hoʻopaʻapaʻa ʻano hoʻopaʻapaʻa i nā ʻano kumu kumu/papa/apono mua.
- ʻAʻole ʻae ʻia ka hopu ʻana i nā ʻāpana va_list/variable.
- Pono e hoʻolei ʻia nā mea maʻamau i loaʻa kahi kuhikuhi i kahi hale i ke ʻano kūpono ke komo ʻia e pale iā C UB.
- Hoʻokomo ʻia ka ʻano inference no "in" i loko o ka enum.
- Hoʻomaikaʻi ʻia ka nānā ʻana i ka pōʻaiapili no nā haʻawina i ke kahua hiki ke kākau.
- Hoʻokomo ʻia ka "stdlib.h" no Enum.to_string() (POSIX).
- Hoʻonohonoho ʻia ka source_reference kūpono no nā ʻano like ʻole "kēia" a me "hopena"
- Hāʻawi ʻia kahi memo hewa no kahi operand kūloko kūpono ʻole o nā ʻōlelo unary.
- Сodewriter: Ua ho'ōki i ka hoʻohui ʻana i ka ʻaoʻao ";" ma hope o ke kino WithStatement.
- Mea hoʻokani pila:
- Hāʻawi ʻia ke kaʻina hana o kahi ʻelele inoa ʻole i kākoʻo ʻia e kahi ala virtual a hōʻailona paha.
- Hoʻohana ʻia ka metadata "delegate_target" no nā ʻano a me nā ʻāpana
- E hoʻopili i ka metadata "destroy_notify_cname" i nā kahua
- E noi i ka metadata "type_get_function" no nā papa a me nā pilina
- E hoʻonoho iā CCode.type_cname no nā papa inā ʻaʻole ka paʻamau.
- girwriter: E hōʻoia i ka kākau ʻia ʻana o nā mea hoʻohālikelike.
- girwriter: Hoʻokomo ʻia ka mea lawe hōʻailona paʻamau.
- libvaladoc/html: Wehe ʻia ka hoʻokaʻawale ʻana o nā kahua kūkulu e waiho i kā lākou kauoha kumu i ka wā e hana ana i nā palapala html valadoc.org
- libvaladoc: E hōʻoia e kiʻi pololei ʻia nā waiwai no Api.Class.is_compact
- libvaladoc: Hoʻohui ʻia ka mea hoʻopili no ka waihona "agedge" graphviz
- Nā hoʻopaʻa ʻana:
- Hoʻoponopono liʻiliʻi i ka wā e hana ai i nā mea paʻa: cairo, gobject-2.0, pango, goocanvas-2.0, hōʻino, alsa, bzlib, sqlite3, libgvc, posix, gstreamer-1.0, gdk-3.0, gdk-x11-3.0, gtk+-3.0, gtk4 fuse, libxml-2.0
- gdk-pixbuf-2.0: Hoʻoponopono iā Pixbuf.save_to_streamv_async()
- gio-2.0: PollableOutputStream.write*_nonblocking() hoʻoponopono paʻa
- gio-2.0,gtk+-3.0,gtk4: Hoʻolei ʻia nā ʻano ʻano c-like o nā ʻāpana va_list
- gio-2.0: Ua koho ʻia ka mea hoʻopiʻi nalo no kekahi mau ala AppInfo/File.*().
- glib-2.0: Hoʻohui ʻia ʻo GLib.[S]List.is_empty() ʻano maʻalahi no ka non-null
- glib-2.0: Hoʻopaʻa i ka hana assert_cmp* [#395]
- glib-2.0: Improved OptionEntry.flags field type
- glib-2.0: ʻO PtrArray kahi subclass o GenericArray
- gstreamer-1.0: Ua hoʻonohonoho ʻia ʻo CCode.type_id o ka MiniObject iā G_TYPE_BOXED [#1133]
- gtk+-2.0,javascriptcoregtk-4.0: Hoʻohana pololei ʻia ka ʻano CCode.type_cname
- gtk + -3.0, gtk4: Hoʻoponopono i kekahi mau ʻelele hoʻihoʻi waiwai a me nā ʻāpana
- gtk4: Hoʻouka hou ʻia i ka mana 4.0.2.
Source: opennet.ru