2010-09-02 5 views

Répondre

46

Vous pouvez exécuter du code octet généré par Scala si vous incluez toutes les bibliothèques d'exécution nécessaires pour Scala (scala-library.jar, scala-swing.jar ...) dans le chemin de classe. La commande scala le fait automatiquement et prend en charge les arguments de ligne de commande spécifiques à Scala.

5

Scala est conçu pour intégrer facilement avec des applications qui fonctionnent sur des machines virtuelles modernes , principalement la machine virtuelle Java (JVM). Le compilateur principal Scala , scalac, génère des fichiers Java de classe qui peuvent être exécutés sur la JVM. ->http://www.artima.com/scalazine/articles/steps.html

Tant que vous avez installé le moteur d'exécution scala vous devriez être bien: compiler des classes avec scalac et les exécuter avec java.

12

Oui, c'est possible. Scala est compilé en Java bytecode. Mais rappelez-vous que cela dépend des classes d'exécution Scala, donc vous devez toujours avoir les fichiers jar de Scala sur le classpath.

Si oui, pourquoi avons-nous une commande exclusive scala?

Emballage pratique.

+1

scala est un interprète, alors que scalac est un échantillon Iler .. ce n'est pas seulement pour la commodité, mais aussi une technique différente. – atamanroman

+0

Vous pouvez démarrer l'interpréteur scala avec la commande "java" si vous avez essayé ... – Thilo

+0

Vous pouvez aussi lancer le compilateur - c'est juste une autre classe qui doit être exécutée (scala.tools.nsc.Main, avec les arguments appropriés). Mais la commodité est pratique, alors pourquoi le faire à la dure? –

3

veux juste ajouter ma propre réponse en tant que valeur supplémentaire pour les futurs lecteurs:

scala, s'il est exécuté sans paramètre, se déroulera un shell interactif

scala, si elle est exécutée avec un nom de fichier texte comme paramètre, considérera le fichier comme un script scala

ces deux ne peut être fait en utilisant java

+4

Vous pouvez faire les deux, mais c'est particulièrement ennuyeux de le faire - vous devez appeler scala.tools.nsc.MainGenericRunner et vous assurer que les outils appropriés sont dans le classpath. Pourquoi ne pas laisser le script scala le faire pour vous? –

Questions connexes