Programmation D/Votre premier programme

Avant de commencer

modifier

Avant de commencer, vous devez savoir que tous les programmes doivent être composés d'un main, qui est la fonction principale du programme. C'est le point de départ du programme, c'est ici que débutera l'exécution.

Qu'est-ce qu'une fonction ?

modifier

Une fonction est composée des éléments suivants :

  1. un en-tête : celui-ci va faire office de carte d'identité de la fonction.
  2. un corps : le contenu de la fonction, c'est à dire l'ensemble des instructions qui sera exécuté lors de l'appel de la fonction. Il est délimité par des accolades {}.
  3. une valeur de retour : le résultat que la fonction va renvoyer.

L'en-tête de la fonction main peut s'écrire de plusieurs manières, en voici quelques unes :

  • une fonction principale retournant un entier et ne prenant pas d'argument
int main ()
{
   
}
  • une fonction principale retournant un entier et pouvant prendre des arguments de la ligne de commande
int main (char[][] args)
{
  
}
  • une fonction principale ne retournant aucune valeur et ne prenant pas d'argument
void main ()
{
   
}

« Bonjour le monde »

modifier

Eh oui, on ne va pas casser la tradition !

Un exemple simple

modifier

Je ne vais pas vous faire languir plus longtemps. Créez un fichier hello.d et écrivez-y les lignes de code suivantes :

import tango.io.Stdout;

void main()
{
    Stdout("Bonjour le monde").nl; // j'imprime sur la sortie standard
}

Simple, vous ne trouvez pas ?

Compilation et exécution

modifier

Pour compiler, faites simplement :

ldc hello.d

Pour l'exécuter :

./hello

Je vous laisse le plaisir d'observer le résultat.

Quelques explications

modifier
  • Sur la 1ère ligne, on indique que l'on a besoin du module Stdout se trouvant dans tango/io/Stdout.d.

Nous y reviendrons plus tard. Sachez simplement que tous les modules D que vous aurez installés sur votre fedora sont dans /usr/include/d/.

Soit ici : /usr/include/d/tango/io/Stdout.d.

  • La 2ème ligne, vous l'aurez reconnue, est notre fonction principale. Elle ne prend pas d'argument et ne retourne aucune valeur.
  • La 3ème ligne est dans la fonction principale, (remarquez les {}) et demande d'écrire sur la sortie standard "Bonjour le monde" suivi d'un retour à la ligne (.nl pour new line/nouvelle ligne).

Il existe beaucoup de façons différentes d'écrire sur la sortie standard mais ne vous éparpillez pas ! On aurait pu souhaiter ne pas vouloir de retour à la ligne à la fin de notre phrase, cela se fait aussi simplement :

Stdout("Bonjour le monde");

Note: n'oubliez pas de recompiler votre code pour voir le changement.

  • La 4ème ligne vient fermer le bloc de la fonction principale.

Exemples plus avancés : Générer des paroles de chanson

modifier

Paroles de la chanson des 99 bouteilles de bière sur le mur (anglais)