ืขื“ื›ื•ืŸ ืฉืคืช ื”ืชื›ื ื•ืช Vala 0.50.4

ื’ืจืกื” ื—ื“ืฉื” ืฉืœ ื”ืžื”ื“ืจ ืœืฉืคืช ื”ืชื›ื ื•ืช Vala 0.50.4 ืฉื•ื—ืจืจื”. ื’ื ืขื ืฃ ื”ืชืžื™ื›ื” ืœื˜ื•ื•ื— ืืจื•ืš (LTS) Vala 0.48.14 (ืืจื•ื– ืขื‘ื•ืจ ืื•ื‘ื•ื ื˜ื• 18.04) ื•ื”ืขื ืฃ ื”ื ื™ืกื™ื•ื ื™ Vala 0.51.3 ืขื•ื“ื›ื ื•.

ืฉืคืช Vala ื”ื™ื ืฉืคืช ืชื›ื ื•ืช ืžื•ื ื—ื” ืขืฆืžื™ื ื”ืžืกืคืงืช ืชื—ื‘ื™ืจ ื“ื•ืžื” ืœ-C# ืื• Java. Gobject (Glib Object System) ืžืฉืžืฉ ื›ืžื•ื“ืœ ืื•ื‘ื™ื™ืงื˜. ื ื™ื”ื•ืœ ื”ื–ื™ื›ืจื•ืŸ ืžืชื‘ืฆืข ืขืœ ื™ื“ื™ ื‘ืขืœื•ืช (ืงื™ืฉื•ืจื™ื ื‘ื‘ืขืœื•ืช/ืœื ื‘ื‘ืขืœื•ืช) ืื• ื‘ืืžืฆืขื•ืช ARC (ื”ื—ืœืคื” ืฉืœ ื”ื•ืจืกื™ื ื•ื”ืคื—ืชื•ืช ืฉืœ ืžื•ื ื™ื ืœื”ืคื ื™ื” ืœืื•ื‘ื™ื™ืงื˜ ื‘ืฉืœื‘ ื”ื”ื™ื“ื•ืจ).

ืœืฉืคื” ื™ืฉ ืชืžื™ื›ื” ื‘ื”ืชื‘ื•ื ื ื•ืช ืคื ื™ืžื™ืช, ืคื•ื ืงืฆื™ื•ืช ืœืžื‘ื“ื”, ืžืžืฉืงื™ื, ื ืฆื™ื’ื™ื ื•ืกื’ื™ืจื•ืช, ืื•ืชื•ืช ื•ื—ืจื™ืฆื™ื, ื—ืจื™ื’ื™ื, ืžืืคื™ื™ื ื™ื, ืกื•ื’ื™ื ืฉืื™ื ื ืืคืกื™ื, ื”ืกืงืช ืกื•ื’ ืœืžืฉืชื ื™ื ืžืงื•ืžื™ื™ื. ื”ืขืจื›ื” ืžื’ื™ืขื” ืขื ืžืกืคืจ ืจื‘ ืฉืœ ื›ืจื™ื›ื•ืช ืœืกืคืจื™ื•ืช ื‘-C (vala-girs, vala-extra-vapis). ืชื•ื›ื ื™ื•ืช Vala ืžืชื•ืจื’ืžื•ืช ืœื™ื™ืฆื•ื’ C ื•ืœืื—ืจ ืžื›ืŸ ืงื•ืžืคื™ืœืฆื™ื” ืขืœ ื™ื“ื™ ืžื”ื“ืจ ืกื˜ื ื“ืจื˜ื™ C. ื ื™ืชืŸ ืœื”ืคืขื™ืœ ืชื•ื›ื ื™ื•ืช ื‘ืžืฆื‘ script.

ืจืฉื™ืžืช ืฉื™ื ื•ื™ื™ื:

  • ื ื•ืกืคื” ืชืžื™ื›ื” ื ื•ืกืคืช ืขื‘ื•ืจ ืžื™ืœืช ื”ืžืคืชื— params ืขื‘ื•ืจ ื‘ื ืื™ื ืžื—ืœืงื” Foo{ public Foo(params string[] args){ foreach (var arg in args) print(arg); } }
  • ืงื•ื“ื’ืŸ:
    • ืชืžื™ื›ื” ืžืฉื•ืคืจืช ื‘ื‘ื•ื ื™ SimpleType struct (ืœื“ื•ื’ืžื” ืžืฉืžืฉ ืœืงืฉื™ืจืช 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 ืžืฉืžืฉ ืชืžื™ื“ ืœืกืžืœื™ื ื—ื™ืฆื•ื ื™ื™ื.
    • ื”ืฉืชืžืฉื• ื‘-g_boxed_free ื‘-free-rapper ื›ื“ื™ ืœื”ืงืฆื•ืช GLib.Value ืขืœ ื”ืขืจื™ืžื”.
    • ืชื•ืงืŸ ื“ืœื™ืคืช ื–ื™ื›ืจื•ืŸ ื‘ืžื”ืœืš unboxing ืžืจื•ืžื– ืฉืœ GLib.Value (ืžื™ื›ืœ ืื•ื ื™ื‘ืจืกืœื™ ืžื›ืœ ืกื•ื’ ืขืจืš).
    • ืชื•ืงืŸ ื“ืœื™ืคืช ื–ื™ื›ืจื•ืŸ ื‘ืขืช โ€‹โ€‹ื”ืขื‘ืจืช ืžื‘ื ื” ืฉื”ื•ืงืฆื” ื‘ืขืจื™ืžื” ืœืขืจื™ืžื”.
    • ืžื•ื‘ื˜ื—ืช ื™ืจื•ืฉื” ืฉืœ ืžืฉืžื™ื“ ืžื‘ื ื” ื”ืื‘
    • ืฉื•ืคืจื” ืื—ื–ื•ืจ ื ื›ื•ืŸ ืฉืœ symbol_reference ืฉืœ ื‘ื™ื˜ื•ื™ื™ ืงืืกื˜ ืžืงื•ื ื ื™ื.
    • ื”ืกืจ ืืช ื›ืœ ื”ืžื•ืคืขื™ื ื”ืžืงื•ื ื ื™ื ืฉืœ CCodeCastExpression.
    • ื”ืคืกื™ืง ืœืงืจื•ื ื‘ืื•ืคืŸ ืฉื’ื•ื™ ืœืžื˜ืคืœ ื”ืื•ืชื•ืช ื”ืžื•ื’ื“ืจ ื›ื‘ืจื™ืจืช ืžื—ื“ืœ.
    • ืžื—ื•ื‘ืจ "string.h" ืขื‘ื•ืจ strcmp() (ืคืจื•ืคื™ืœ POSIX, ืžืฆื‘ ื‘ื• Vala ืžื™ื™ืฆืจ ืงื•ื“ ื‘ืืžืฆืขื•ืช ืกืคืจื™ื™ืช C ื”ืกื˜ื ื“ืจื˜ื™ืช ื‘ืœื‘ื“).
  • ื•ืืœื”:
    • ื–ื™ื”ื•ื™ ืžืฉื•ืคืจ ืฉืœ ืงื‘ืฆื™ ืžืงื•ืจ ื—ื‘ื™ืœื” ื›ืคื•ืœื™ื.
    • ื™ืฉ ืœื”ื›ืจื™ื– ืขืœ ืฉื“ื•ืช/ื ื›ืกื™ื ืฉืœ GtkChild ืฉืื™ื ื ื‘ื‘ืขืœื•ืชื.
    • ื”ืงืฆืื” ืžื—ื“ืฉ ืฉืœ ื”ืฉื“ื”/ื”ื ื›ืก ืฉืœ GtkChild ืืกื•ืจื”.
    • ืชื ืื™ ืžื—ืžื™ืจ ื”ื•ื—ืœ ืขืœ ื”ืœืžื‘ื“ื” ื‘ืขืช ื”ืืฆืœืช ืžืฉื™ืžื”.
    • ื—ืœ ืื™ืกื•ืจ ืœื”ืฉืชืžืฉ ื‘ืžื‘ื ื™ SimpleType ื—ื“-ืคืขืžื™ื™ื.
    • GLib.Value unboxing ืžื‘ื˜ื™ื— ืฉื”ืขืจืš ื”ืœื ื‘ื‘ืขืœื•ืช ื™ื•ื—ื–ืจ.
    • ื™ืฆื™ืงืช GLib.Value ืœืžื‘ื ื” ืจื™ืง/ืกื•ื’ ืคืฉื•ื˜ ืืกื•ืจื”.
    • ื ื•ืกืฃ ื‘ื“ื™ืงืช ืืจื’ื•ืžื ื˜ ืกื•ื’ ื‘ืชื ืื™ื ืžื•ืงื“ืžื™ื ืฉืœ ืกื•ื’ื™ ื‘ืกื™ืก/ืžื—ืœืงื”/ืžืžืฉืง.
    • ืœื›ื™ื“ืช ืคืจืžื˜ืจื™ื/ืžืฉืชื ื™ื ืฉืœ va_list ืืกื•ืจื”.
    • ื›ืœืœื™ื™ื ื”ืžื›ื™ืœื™ื ืžืฆื‘ื™ืข ืœืžื‘ื ื” ื—ื™ื™ื‘ื™ื ืœื”ื™ื•ืช ื™ืฆื•ืงื™ื ืœืกื•ื’ ื”ื ื›ื•ืŸ ื‘ืขืช โ€‹โ€‹ื’ื™ืฉื” ื›ื“ื™ ืœื”ื™ืžื ืข ืž-C UB.
    • ืžืกืงื ืช ืกื•ื’ ืžื™ื•ืฉื ืขื‘ื•ืจ "in" ื‘ืชื•ืš enum.
    • ื‘ื“ื™ืงืช ื”ืงืฉืจ ืžืฉื•ืคืจืช ืขื‘ื•ืจ ืžื˜ืœื•ืช ืœืฉื“ื” ื”ื ื™ืชืŸ ืœื›ืชื™ื‘ื”.
    • ื›ืœืœ "stdlib.h" ืขื‘ื•ืจ Enum.to_string() (POSIX).
    • ื”ืžืงื•ืจ_ื”ืคื ื™ื” ื”ื ื›ื•ื ื” ืžื•ื’ื“ืจ ืขื‘ื•ืจ ื”ืžืฉืชื ื™ื ื”ืžืจื•ืžื–ื™ื "ื–ื”" ื•"ืชื•ืฆืื”"
    • ืกื™ืคืงื” ื”ื•ื“ืขืช ืฉื’ื™ืื” ืขื‘ื•ืจ ืื•ืคืจื ื“ ืคื ื™ืžื™ ืœื ื—ื•ืงื™ ืฉืœ ื‘ื™ื˜ื•ื™ื™ื ืœื ื—ื•ืงื™ื™ื.
  • ะกodewriter: ื”ืคืกื™ืง ืœื”ื•ืกื™ืฃ ืืช ื”";" ื”ื ื’ืจืจ ืื—ืจื™ ื”ื’ื•ืฃ WithStatement.
  • Girparser:
    • ื ื™ืชืŸ ืขื™ื‘ื•ื“ ืฉืœ ื ืฆื™ื’ ืื ื•ื ื™ืžื™ ืฉืื™ื ื• ืžื’ื•ื‘ื” ื‘ืฉื™ื˜ื” ื•ื™ืจื˜ื•ืืœื™ืช ืื• ืื•ืช.
    • ื”ื—ื™ืœ ืžื˜ื ื ืชื•ื ื™ื ืฉืœ "delegate_target" ืขื‘ื•ืจ ืฉื™ื˜ื•ืช ื•ืคืจืžื˜ืจื™ื
    • ื”ื—ืœ ืžื˜ื ื ืชื•ื ื™ื ืฉืœ "destroy_notify_cname" ืขืœ ืฉื“ื•ืช
    • ื”ื—ืœ ืžื˜ื ื ืชื•ื ื™ื ืžืกื•ื’ "type_get_function" ืขื‘ื•ืจ ืžื—ืœืงื•ืช ื•ืžืžืฉืงื™ื
    • ื”ื’ื“ืจ CCode.type_cname ืขื‘ื•ืจ ืžื—ืœืงื•ืช ืื ืœื ื‘ืจื™ืจืช ื”ืžื—ื“ืœ.
  • girwriter: ืžื‘ื˜ื™ื— ืฉืจื›ื™ื‘ื™ ืคืจืžื˜ืจ ืฉืœ ืžื•ืคืข ื ื›ืชื‘ื™ื.
  • girwriter: ืคืœื˜ ืžื˜ืคืœ ื‘ืื•ืชื•ืช ืžื™ื•ืฉื ื›ื‘ืจื™ืจืช ืžื—ื“ืœ.
  • libvaladoc/html: ื”ื•ืกืจ ื”ืžื™ื•ืŸ ืฉืœ ืฉื“ื•ืช ื”ืžื‘ื ื” ื›ื“ื™ ืœื”ืฉืื™ืจ ืืช ื”ืกื“ืจ ื”ืžืงื•ืจื™ ืฉืœื”ื ื‘ืขืช ื™ืฆื™ืจืช ืชื™ืขื•ื“ HTML valadoc.org
  • libvaladoc: ื•ื“ื ืฉื”ืขืจื›ื™ื ืขื‘ื•ืจ Api.Class.is_compact ืžืื•ื—ื–ืจื™ื ื‘ืฆื•ืจื” ื ื›ื•ื ื”
  • libvaladoc: ื”ื•ืกืคืช ืžืขื˜ืคืช ืœืกืคืจื™ื™ืช 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+-3.0, gtk+-4, gtk ืคื™ื•ื–, 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: ืžืืคื™ื™ื ื™ื ืžืคื•ืจืฉื™ื ืžืกื•ื’ c ืฉืœ ืคืจืžื˜ืจื™ื va_list ื ืžื—ืงื™ื
    • gio-2.0: ืžืคืขื™ืœ ื—ืกืจ ื ื‘ื—ืจ ืขื‘ื•ืจ ื—ืœืง ืžืฉื™ื˜ื•ืช AppInfo/File.*()
    • 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: CCode.type_id ืฉืœ ื”-MiniObject ืžื•ื’ื“ืจ ืœ-G_TYPE_BOXED [#1133]
    • gtk+-2.0,javascriptcoregtk-4.0: ืฉื™ืžื•ืฉ ืžืชื•ืงืŸ ื‘ืชื›ื•ื ื” CCode.type_cname
    • gtk+-3.0,gtk4: ืชื•ืงืŸ ื›ืžื” ืขืจื›ื™ ื”ื—ื–ืจืช ื ืฆื™ื’ื™ื ื•ืคืจืžื˜ืจื™ื
    • gtk4: ืขื•ื“ื›ืŸ ืœื’ืจืกื” 4.0.2.

ืžืงื•ืจ: OpenNet.ru

ื”ื•ืกืคืช ืชื’ื•ื‘ื”