Blog Arolla

Introduction à Scala, épisode 2 – premiers pas avec Scala

Après une introduction générale à Scala et à son écosystème dans le premier article, nous allons installer Scala puis écrire nos premières lignes de code Scala afin de nous familiariser avec le REPL.

Télécharger Scala

Pour fonctionner Scala a besoin de Java. Vous devez donc vous assurer que Java est installé sur votre machine avant de procéder à l’installation de Scala. Dans cette série d’articles nous utiliserons la version 2.10.2 de Scala et cela requiert au moins la version 1.6 de Java. Commencez d’abord par vérifier la disponible de Java sur votre système avec la commande suivante :

$ java -version

En exécutant cette commande sur ma machine j’obtiens la sortie suivante :

$ java -version
java version "1.6.0_51"
Java(TM) SE Runtime Environment (build 1.6.0_51-b11-457-11M4509)
Java HotSpot(TM) 64-Bit Server VM (build 20.51-b01-457, mixed mode)

Vous devez avoir une sortie similaire si Java est installé sur votre machine sinon rendez-vous à l’adresse http://www.java.com pour le télécharger.

Maintenant que vous avez installé Java procédons à l’installation de Scala. En fonction de votre plate-forme elle ne se fera pas de la même manière.

Windows

Allez à l’adresse http://www.scala-lang.org/download/2.10.2.html et cliquez sur le lien nommé scala-2.10.2.msi. Cela va télécharger un fichier qui permet d’installer Scala sur votre machine Windows. Une fois le téléchargement terminé il suffit de cliquer dessus et de suivre les différentes étapes de l’installation. Une fois l’installation terminée vous pouvez vérifier si cela a marché avec la commande :

$ scala -version

Vous obtiendrez une sortie similaire à :

$ scala -version
Scala code runner version 2.10.2 -- Copyright 2002-2013, LAMP/EPFL

Unix/Linux, Mac OS X et Cygwin

Téléchargez le fichier archive disponible à l’adresse http://www.scala-lang.org/files/archive/scala-2.10.2.tgz puis extrayez-le à l’endroit de votre choix. Sur ma machine je vais l’installer dans /usr/local/share.

$ cd /usr/local/share/
$ sudo wget http://www.scala-lang.org/files/archive/scala-2.10.2.tgz

Une fois le téléchargement terminé j’extrais les fichiers :

$ tar xvfz scala-2.10.2.tgz

Histoire de ne pas lier mon installation à une version particulière je crée un lien symbolique vers le dossier scala-2.10.2.

$ sudo ln -s /usr/local/share/scala-2.10.2 /usr/local/share/scala

Ensuite éditez par exemple votre fichier .bashrc pour lui ajouter les lignes suivantes :

SCALA_HOME=/usr/local/share/scala
export PATH=$PATH:$SCALA_HOME/bin

Enfin vous pouvez vérifier l’installation comme suit :

$ source ~/.bashrc
$ scala -version
Scala code runner version 2.10.2 -- Copyright 2002-2013, LAMP/EPFL

Que contient l’installation de Scala ?

Faisons le tour du propriétaire pour comprendre ce que contient notre installation de Scala. Pour cela je me place dans le dossier où est installé Scala puis je lance la commande tree :

$ cd /usr/local/share/scala
$ tree -d -L 2

Cela me donne la structure suivante :

$ tree -d -L 2
.
├── bin
├── doc
│   └── tools
├── examples
│   ├── actors
│   ├── monads
│   ├── parsing
│   ├── tcpoly
│   └── xml
├── lib
├── man
│   └── man1
├── misc
│   └── scala-devel
└── src

15 directories

Voici une brève description des dossiers ci-dessus :

  • bin : Ce dossier contient les programmes exécutables comme le compilateur de Scala scalac, le dé-compilateur scalap ou l’interpréteur scala. Lors de l’installation ce dossier a été ajouté au chemin où le système d’exploitation cherche les commandes que nous tapons dans le terminal. Ainsi nous n’avons pas besoin de taper le chemin complet des exécutables.
  • doc : Ce dossier contient de la documentation sur les commandes localisées dans le repertoire bin.
  • examples : Ici vous trouverez des exemples de programmes écrits en Scala. Faites-y un tour afin de voir à quoi ressemble la syntaxe de Scala ou pour trouver de l’inspiration.
  • lib : C’est là que résident les librairies c’est-à-dire un ensemble de fonctions et de classes prêtes à l’emploi que vous pouvez utiliser pour écrire vos propres programmes.
  • man : Le contenu de ce dossier est utilisé par la commande man qui affiche l’aide sur des commandes comme scala ou scalac. Essayez ça :
    $ man scala
  • src : Le code source de Scala et des librairies se trouvent ici.
  • misc : Ce dossier est, j’ai envie de dire, sans grand intérêt pour nous. A ce jour il contient le plugin pour la contituation.

Premiers pas avec l’interpréteur de Scala ou le REPL

Comme vous allez vous en rendre compte, l’interpréteur de Scala est un outil puissant pour expérimenter des choses et accélérer son apprentissage du langage. Vous avez un doute et hop lancez l’interpréteur pour le lever ! Vous avez une idée et hop l’interpréteur est là pour la tester.

Et pour lancer l’interpréteur rien de plus simple que de taper la commande scala dans une console :

$ scala
Welcome to Scala version 2.10.2 (Java HotSpot(TM) 64-Bit Server VM, Java 1.6.0_51).
Type in expressions to have them evaluated.
Type :help for more information.
scala>

Vous voilà dans l’interpréteur prêt à taper des commandes. Tapez un nombre et appuyez sur la touche Enter du clavier pour voir.

scala> 20
res0: Int = 20

Le nombre 20 sur la première ligne correspond à ce que j’ai tapé et la deuxième ligne à ce que me répond l’interpréteur. Que s’est-il passé ? L’interpréteur a récupéré ce que j’ai tapé (ici 20), l’a évalué puis a affiché le résultat en lui donnant le nom res0 (pour résultat numéro 0) et la valeur 20. Désormais res0 contient le nombre 20. Pour vous en convaincre tapez res0 dans l’interpréteur :

scala> res0
res1: Int = 20

Note : Notez que le nom res0 est suivi de “: Int”. Cette annotation nous précise que le nom res0 contient un entier. Nous reviendrons sur ce point dans la suite.

Recommençons avec une opération un peu plus compliquée : l’addition de deux nombres, par exemple 2 + 7.

scala> 2 + 7
res2: Int = 9

Là encore le REPL a évalué ce que nous avons tapé puis a affiché le résultat.

Il est aussi possible de réutiliser le résultat d’une opération précédente :

scala> res2 + 2
res3: Int = 11
scala> res3 - 8
res4: Int = 3

En dehors du code Scala l’interpréteur de Scala accepte aussi d’autres commandes dont la plus importante est :help. Elle vous listera la liste des commandes disponibles. Pour l’instant je mets l’accent sur trois commandes seulement dont voici la description :

  • :cp : Cette commande vous permet d’utiliser depuis le REPL du code situé dans un fichier archive Java (avec l’extension .jar) ou dans un répertoire.
  • :quit : Celle-là est utilisée pour quitter le REPL. Eh oui il faut pouvoir en sortir !
  • :paste : Cette commande s’avère assez pratique quand on écrit du code sur plusieurs lignes dans le REPL.

Même si le REPL est sympathique comme calculatrice elle peut faire bien plus comme afficher un message sur l’écran par exemple.

scala> println("Bonjour ! Ça se passe bien jusque là ?")
Bonjour ! Ça se passe bien jusque là ?

Essayez la même chose chez vous, n’hésitez pas à changer le message. Ici nous avons utilisé la fonction println pour afficher notre message à l’écran. Nous verrons dans la suite ce qu’est une fonction mais si vous êtes pressé de le savoir lisez cet article.

Résumé et programme pour la suite

Mine de rien nous avons déjà fait beaucoup de choses. Nous avons installé Scala, appris à lancer le REPL et à le faire exécuter du code Scala pour nous. Dans le prochain article nous nous baserons sur ces connaissances pour apprendre de nouveaux concepts et nous initier à la syntaxe de Scala.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *