Après une version 0.7.7 sans grande nouveauté, La nouvelle version du compilateur Vala, 0.7.8, vient d'être annoncée :
Changes since 0.7.7
- Support constructor chain up to GObject using Object (...).
- Add syntax for string templates.
- Support (!) non-null casts.
- Many bug fixes and binding updates.
Support constructor chain up to GObject using Object (...)
Il s'agit d'une nouvelle syntaxe pour modifier les propriétés d'un objet lors de sa construction.
Avant :
class MyWindow : Gtk.Window
{
public MyWindow ()
{
this.type = Gtk.WindowType.POPUP;
}
construct
{
// ...
}
}
Maintenant :
class MyWindow : Gtk.Window
{
public MyWindow ()
{
Object (type: Gtk.WindowType.POPUP);
}
construct
{
// ...
}
}
Add syntax for string templates
Il s'agit d'une nouvelle syntaxe pour facilité la substitution des variables dans une chaine de caractères :
string name = "Vala";
stdout.printf (@"Hello, $name!\n");
stdout.printf (@"2 + 3 = $(2 + 3)\n");
Support (!) non-null casts
void main ()
{
string? a = "hello";
string b = a;
}
Ce code ne compile pas avec la vérification strict ('--enable-experimental-non-null') :
error: Assignment: Cannot convert from `string?' to `string'
Il est maintenant possible d'utiliser l'opérateur '(!)' pour forcer la conversion :
void main ()
{
string? a = "hello";
string b = (!) a;
}
Vous avez lu gratuitement 504 articles depuis plus d'un an.
Soutenez le club developpez.com en souscrivant un abonnement pour que nous puissions continuer à vous proposer des publications.
Soutenez le club developpez.com en souscrivant un abonnement pour que nous puissions continuer à vous proposer des publications.