වාලා ක්රමලේඛන භාෂාව සඳහා සම්පාදකයේ නව අනුවාදයක් වන 0.50.4 අනුවාදය නිකුත් කර ඇත. වාලා 0.48.14 හි දිගුකාලීන සහාය (LTS) ශාඛාව ද යාවත්කාලීන කර ඇත (ඇසුරුම් කර ඇත) Ubuntu 18.04) සහ පර්යේෂණාත්මක ශාඛාව වන වාලා 0.51.3.
වාලා යනු C# හෝ Java වලට සමාන වාක්ය ඛණ්ඩයක් සහිත වස්තු-නැඹුරු ක්රමලේඛන භාෂාවකි. එය එහි වස්තු ආකෘතිය ලෙස Gobject (Glib Object System) භාවිතා කරයි. මතක කළමනාකරණය සිදු කරනු ලබන්නේ හිමිකාරිත්වය (හිමිකම්කරු/නොදැමූ යොමු) හෝ ARC (සම්පාදන-කාල විනාශ කරන්නා සහ යොමු ගණන් කිරීමේ අඩුවීම්) මගිනි.
භාෂාව අභ්යන්තර පරීක්ෂණය, ලැම්ඩා ශ්රිත, අතුරුමුහුණත්, නියෝජිතයින් සහ වසා දැමීම්, සංඥා සහ තව්, ව්යතිරේක, ගුණාංග, ශුන්ය නොවන වර්ග සහ දේශීය විචල්ය සඳහා වර්ග අනුමාන සඳහා සහය දක්වයි. C පුස්තකාලවලට බන්ධන විශාල සංඛ්යාවක් (වාල-ගිර්ස්, වාල-අමතර-වාපයිස්) ඇතුළත් වේ. වාල වැඩසටහන් C නිරූපණයට පරිවර්තනය කර පසුව බිල්ට්-ඉන් C සම්පාදකය මඟින් සම්පාදනය කරනු ලැබේ. වැඩසටහන් ස්ක්රිප්ට් ආකාරයෙන් ක්රියාත්මක කළ හැකිය.
වෙනස්කම් ලැයිස්තුව:
- කන්ස්ට්රක්ටර්ස් පන්තිය සඳහා පරාම් මූල පදය සඳහා අමතර සහාය එක් කරන ලදී Foo{ public Foo(params string[] args){ foreach (var arg in args) print(arg); } }
- කේතජනකය:
- SimpleType struct constructors සඳහා වැඩි දියුණු කළ සහාය (උදා: typedef uint32_t people_inside බන්ධනය කිරීමට භාවිතා කරයි; C වෙතින්) [SimpleType] [CCode (cname = "people_inside")] public struct PeopleInside : uint32 {}
- "NoWrapper" ගුණාංගය හැසිරවීම වැඩිදියුණු කිරීම.
- පන්ති සඳහා, CCode.type_cname සහ get_ccode_type_name() අවසර දෙනු ලැබේ.
- බාහිර සංකේත සඳහා සැමවිටම G_TYPE_INSTANCE_GET_CLASS/INTERFACE භාවිතා කරන්න.
- ගොඩ මත GLib.Value වෙන් කිරීම සඳහා free-wrapper හි g_boxed_free භාවිතා කරන ලදී.
- GLib.Value (ඕනෑම අගය වර්ගයක විශ්වීය බහාලුමක්) implicit unboxing අතරතුර මතක කාන්දුවක් නිවැරදි කරන ලදී.
- ගොඩවල් වෙන් කරන ලද ව්යුහයක් තොගයට ගෙන යන විට මතක කාන්දුවක් නිරාකරණය කරන ලදී.
- මව් ව්යුහයේ විනාශ කරන්නාගේ උරුමය සපයයි.
- කැදැලි වාත්තු ප්රකාශනවල සංකේත_යොමුව නිවැරදිව ලබා ගැනීම සවි කර ඇත.
- CCodeCastExpression හි සියලුම කැදලි අවස්ථා ඉවත් කර ඇත.
- පෙරනිමි සංඥා හසුරුවන්නාගේ වැරදි ආයාචනය නිවැරදි කරන ලදී.
- strcmp() සඳහා "string.h" සම්බන්ධ කර ඇත (POSIX පැතිකඩ, සම්මත C පුස්තකාලය පමණක් භාවිතා කරමින් Vala කේතය ජනනය කරන මාදිලිය).
- වලා:
- අනුපිටපත් පැකේජ මූලාශ්ර ගොනු හඳුනාගැනීම වැඩිදියුණු කිරීම.
- GtkChild ක්ෂේත්ර/ගුණාංග හිමිකරුවන් නොමැති ලෙස ප්රකාශ කළ යුතුය.
- GtkChild ක්ෂේත්රය/ගුණාංගය නැවත පැවරීම තහනම්ය.
- පැවරුම පැවරීමේදී ලැම්ඩා සඳහා දැඩි කොන්දේසියක් යොදවා ඇත.
- තනි භාවිත SimpleType ව්යුහයන් භාවිතය තහනම්ය.
- GLib.Value unboxing වලදී, හිමිකරුවෙකු නොමැති අගයක් ආපසු ලබා දෙනු ලැබේ.
- GLib.Value ශුන්ය කළ හැකි ව්යුහයකට/සරල වර්ගයකට වාත්තු කිරීම තහනම්ය.
- මූලික වර්ග/පන්ති/අතුරුමුහුණත් පූර්ව කොන්දේසි වල වර්ග තර්ක පරීක්ෂා කිරීම එකතු කරන ලදී.
- va_list පරාමිතීන්/විචල්යයන් ග්රහණය කිරීම තහනම්ය.
- C UB වළක්වා ගැනීම සඳහා ව්යුහයකට දර්ශකයක් අඩංගු ජෙනරික් ප්රවේශ වන විට නිවැරදි වර්ගයට වාත්තු කළ යුතුය.
- "in" ඇතුළත enum සඳහා ක්රියාත්මක කරන ලද වර්ග අනුමානය.
- ලිවිය හැකි ක්ෂේත්රයකට පැවරීමේදී සන්දර්භ පරීක්ෂාව වැඩිදියුණු කිරීම.
- Enum.to_string() (POSIX) සඳහා "stdlib.h" සම්බන්ධ කර ඇත.
- "this" සහ "result" යන ව්යංග විචල්ය සඳහා නිවැරදි source_reference සකසන්න.
- ඒකීය ප්රකාශනවල වලංගු නොවන අභ්යන්තර ක්රියාකාරිත්වය සඳහා දෝෂ පණිවිඩ ප්රතිදානය සපයන ලදී.
- කේත රචකයා: WithStatement අන්තර්ගතයට පසුව ";" අකුරක් එකතු කිරීම නැවැත්වීය.
- ගිර්පාර්සර්:
- අතථ්ය ක්රමයක් හෝ සංඥාවක් මගින් සහාය නොදක්වන නිර්නාමික නියෝජිතයෙකු හැසිරවීම සපයා ඇත.
- "delegate_target" පාර-දත්ත ක්රම සහ පරාමිතීන් සඳහා යොදවා ඇත.
- ක්ෂේත්රවලට "destroy_notify_cname" පාර-දත්ත යොදන ලදී.
- "type_get_function" පාර-දත්ත පන්ති සහ අතුරුමුහුණත් සඳහා යොදවා ඇත.
- පෙරනිමි අගයට නොගැලපේ නම්, පන්ති සඳහා CCode.type_cname සකසන්න.
- girwriter: උදාහරණ පරාමිති මූලද්රව්ය ලිවීම සපයයි.
- girwriter: පෙරනිමි සංඥා හසුරුවන්නාගේ ප්රතිදානය ක්රියාත්මක කරන ලදී.
- libvaladoc/html: valadoc.org සඳහා HTML ලියකියවිලි ජනනය කිරීමේදී ඒවායේ මුල් අනුපිළිවෙල ආරක්ෂා කර ගැනීම සඳහා ව්යුහ ක්ෂේත්ර වර්ග කිරීම ඉවත් කරන ලදී.
- libvaladoc: Api.Class.is_compact සඳහා අගයන් නිවැරදිව ලබා ගන්නා බව සහතික කර ඇත
- libvaladoc: "agedge" graphviz පුස්තකාලය සඳහා එතුම එකතු කරන ලදී.
- බැඳීම්:
- බන්ධන උත්පාදනය සඳහා සුළු නිවැරදි කිරීම්: cairo, gobject-2.0, pango, goocanvas-2.0, curses, alsa, bzlib, sqlite3, libgvc, posix, gstreamer-1.0, gdk-3.0, gdk-x11-3.0, gtk+, gtk-4. libxml-2.0
- gdk-pixbuf-2.0: Pixbuf.save_to_streamv_async() නිවැරදි කරන්න
- gio-2.0: PollableOutputStream.write*_nonblocking() බන්ධනය නිවැරදි කරන්න
- gio-2.0,gtk+-3.0,gtk4: va_list පරාමිතීන්ගේ පැහැදිලි c-වර්ගයේ ගුණාංග අතහැර දමන ලදී.
- gio-2.0: සමහර AppInfo/File.*() ක්රම සඳහා අස්ථානගත වූ invoker තෝරාගෙන ඇත.
- glib-2.0: ශුන්ය නොවන සඳහා GLib එකතු කරන ලදී.[S]List.is_empty() පහසුව සඳහා ක්රම
- glib-2.0: assert_cmp* ශ්රිතය බන්ධනය කිරීම [#395]
- glib-2.0: වැඩිදියුණු කළ OptionEntry.flags ක්ෂේත්ර වර්ගය
- glib-2.0: PtrArray දැන් GenericArray හි උපපංතියකි.
- gstreamer-1.0: MiniObject හි CCode.type_id G_TYPE_BOXED ලෙස සකසා ඇත [#1133]
- gtk+-2.0,javascriptcoregtk-4.0: CCode.type_cname ගුණාංගයේ නිවැරදි භාවිතය
- gtk+-3.0,gtk4: සමහර නියෝජිත ප්රතිලාභ අගයන් සහ පරාමිතීන් නිවැරදි කරන ලදී.
- gtk4: 4.0.2 අනුවාදයට යාවත්කාලීන කරන ලදී.
මූලාශ්රය: opennet.ru
