Canalblog
Editer l'article Suivre ce blog Administration + Créer mon blog
Publicité
LINUX & OPEN SOURCE
27 décembre 2008

vala et les chaines

Vala est un langage moderne et de haut niveau, en particulier les opérations sur les chaines de caractéres sont fortement simplifiés par rapport au C. 

Voiçi quelques operations courantes:

- assigner une chaine à une variable:    chaine = "ma chaine de caractéres";

- concaténer des chaines:    nom_complet = "mon prénom" + "mon nom de famille";
                                             nom_complet = prenom +nom;
                                             nom_complet+=surnom;

- comparer deux chaines:   if (nom == "Martin")    bonjour();

- aiguiller en fonction du contenu d'une chaine:       switch (nom) {
                                                                                       case "Martin":
                                                                                              bonjour();
                                                                                              break;
                                                                                       case "John":
                                                                                              hello();
                                                                                              break;
                                                                                 }

- itérer sur une liste d'éléments:   foreach(mot in liste) {
                                                           stdout.printf("%s\n",mot);
                                                      }

Voici un petit exemple à compiler ainsi: valac -o strings strings.vala

Le programme:

using GLib;

public class StringExample : Object {
   public static int main (string[] args) {
      List<string> list = new List<string> ();   //création d'une liste
      list.append ("le ");      //ajout d'un élément à la liste
      list.append ("café ");
      list.append ("fort!");

      string sentence = "J'aime ";  //assigne la chaine "j'aime" à la variable sentence

      stdout.printf ("list.length () = %u\n", list.length ());

      // iteration sur les élèments d'une liste
      foreach (string element in list) {
          stdout.printf ("%s\n", element);
          //aiguillage sur des chaines
          switch (element) {
              case "fort!":
                  element="bien corsés!";   //assigne une chaine
                  break;
              case "café ":
                  element+="mais aussi le thé ";   //concatène une chaine
                  break;
          }
          sentence+=element;
      }
      stdout.printf("%s\n",sentence);
      return 0;
  }
}

Le résultat:

jp@jp-laptop:/media/hda3/vala$ /media/hda3/vala/strings
list.length () = 3
le
café
fort!
J'aime le café mais aussi le thé bien corsés!

Publicité
Publicité
Commentaires
LINUX & OPEN SOURCE
Publicité
Archives
Publicité