Utiliser et obtenir Scala

Les exercices et projets sont en Scala, qui doit être disponible sur votre machine de travail. Si vous travaillez sur une machine de la salle INF3, les outils nécessaires sont déjà installés. La dernière section vous explique comment les installer sur vôtre machine à vous.

 

Introduction

Comme en Java, un programme Scala doit définir une méthode “main” pour être executable. La différence est que Scala ne permet pas de definir des membres statiques dans les classes. Par contre, le concept des “singletons” (classes avec une instance unique) est incorporé dans le language. La méthode “main” doit donc être definit dans un “object”:

<pre> object Hello { def main(args: Array[String]) { new Greeting(args(0)).greet() } } class Greeting(name: String) { def greet() { println("Hello, "+ name) } } </pre>

Si vous copiez le code si-dessus dans un fichier “Hello.scala” (Scala permet avoir plusieurs classes / objets dans un fichier), vous pouvez le compiler et executer avec les commandes suivantes:

  console> /net/icfiler2/vol/iif/lamp/iclamp/soft/scala/bin/scalac Hello.scala
  console> /net/icfiler2/vol/iif/lamp/iclamp/soft/scala/bin/scala Hello Tom
  Hello, Tom
  console>

 

Interpréteur

L’interpréteur Scala est très utile pour essayer des idées sans devoir passer le long cycle (créer un fichier, compiler, lancer). Vous pouvez lancer l’interpréteur dans la ligne de commande en tapant

  /net/icfiler2/vol/iif/lamp/iclamp/soft/scala/bin/scala

Exemple d’utilisation:

  console> /net/icfiler2/vol/iif/lamp/iclamp/soft/scala/bin/scala
  Welcome to Scala version 2.9.1 (Java HotSpot(TM) Server VM, Java 1.6.0_20).
  Type in expressions to have them evaluated.
  Type :help for more information.

  scala> def factorial(n: Int): Int = if (n == 1) 1 else n * factorial(n-1)
  power: (n: Int)Int

  scala> factorial(4)
  res0: Int = 24

 

Eclipse

Vous pouvez lancer une installation Eclipse avec le dernier module Scala en tapant la commande suivante dans votre terminal:

  /net/icfiler2/vol/iif/lamp/iclamp/soft/eclipse/eclipse &

Dans Eclipse, il faut créer un nouveau “Scala Project” avec “File” – “New” – “Other…”. Une fois que vous avez un fichier qui contient un “object” avec une methode “def main(args: Array[String])”, vous pouvez lancer le programme avec un clic droit sur le fichier, “Run As” – “Scala Application”.

 

Emacs (ou un autre éditeur) + ligne de commande

La distribution Scala contient des plugins pour un grand nombre d’éditeurs (emacs, vi, …) qui sont disponsible dans le répertoire suivant

  /net/icfiler2/vol/iif/lamp/iclamp/soft/scala/misc/scala-tool-support

Lisez les fichiers “README” pour apprendre comment les installer, par exemple “emacs/README“.

Pour compiler et lancer vos programmes vous pouvez utiliser les commandes “scalac” et “scala” qui se trouvent dans le répetoire /net/icfiler2/vol/iif/lamp/iclamp/soft/scala/bin.

 

Travailler sur sa propre machine

Distribution Scala

Pour travailler sur vos machines, il vous faut une distribution Scala 2.9.1 qui se trouve sous http://www.scala-lang.org/downloads. Elle contient les outils de linge de commande (scala, scalac) et également des plugins pour les éditeurs (emacs, vi, …).

Eclipse

Il vous faut Eclipse Classic 3.7.

Pour le plugin Scala (http://scala-ide.org/download/current.html) nous conseillons la version “For Scala 2.9.x”. Dans Eclipse, choisissez dans le menu “Help” – “Install new Software…”, copiez le URL suivant dans le champ “Work with”, et tapes Enter.

  http://download.scala-ide.org/releases-29/stable/site

Puis sélectionnez les trois éléments disponibles et cliquez “Next >”, puis acceptez la license et cliquez “Finish”.