2011-05-25 7 views
64

No se trata de opciones del compilador de línea de comandos. ¿Cómo obtengo programáticamente la versión de Scala dentro del código?¿Cómo obtengo la versión de Scala dentro de Scala?

Por otra parte, ¿de dónde viene el Eclipse plug-in Scala tienda v2 el camino a scalac?

+1

La Scala IDE para Eclipse no almacena un camino a 'scalac'; invoca las clases de compilador directamente desde dentro con Eclipse JVM. –

+2

@ Jean-Philippe Pellet Gracias, por cierto, me he dado cuenta que 'referencias scala.sys.props' lo que parece ser bibliotecas Scala bajo algo como' sun.boot.class.path -> F: \ eclipse \ configuration \ org .eclipse.osgi \ haces de \ 316 \ 1 \ .cp \ lib \ scala-library.jar; '(con' 'library.proerties' de jar' que contiene' version.number = 2.9.0.final'). Pero como 'scala.sys.props' está ahí desde' 2.9.0' solo es una pista en sí misma :) – mlvljr

+0

¡Maldita sea, alguien, por favor haz de esto una wiki! :) – mlvljr

Respuesta

93

Esto funcionará sin acceso a scala-compiler.jar:

Welcome to Scala version 2.9.1.final (Java HotSpot(TM) 64-Bit Server VM, Java 1.6.0_26). 
Type in expressions to have them evaluated. 
Type :help for more information. 

scala> util.Properties.versionString 
res0: java.lang.String = version 2.9.1.final 
+3

Tuve que agregar Scala ya que las bibliotecas de chispa se cargaron primero. Así 'scala.util.Properties.versionString' –

+0

No funciona en Scala.js –

14

, usted puede obtener la versión Scala como esto:

scala> scala.tools.nsc.Properties.versionString 
res7: java.lang.String = version 2.9.0.final 

No sé los detalles del plug-in, sin embargo.

+0

Es del intérprete, ¿no es así? Pero gracias de cualquier manera. – mlvljr

+0

Creo que puedes usar 'scala.tools.nsc.Properties.versionString' en cualquier lugar. En – HairyFotr

+0

'scala.tools.nsc.Properties importación;' el mío dice "herramientas de objetos no es un miembro del paquete *** Scala." :( – mlvljr

34

Hay tres maneras de obtener la versión Scala -

scala> util.Properties.versionNumberString 
res103: String = 2.11.4 

scala> util.Properties.versionString 
res104: String = version 2.11.4 

scala> util.Properties.versionMsg 
res105: String = Scala library version 2.11.4 -- Copyright 2002-2013, LAMP/EPFL 
+2

El primero es el mejor de todos en esta página, aparentemente :) – mlvljr

+1

FYI 'util.Properties.versionNumberString' solo existe desde scala 2.10.x. Para scala debajo de 2.10.x, puede usar 'util.Properties.releaseVersion.getOrElse (" unknown version ")' para obtener la cadena del número de versión. – jordom

8

También puede instalarse versión Scala

  1. abierto símbolo del sistema
  2. tipo Scala
  3. obtendrá siguiente resultado:

Bienvenido a Scala versión 2.10.3 (Java HotSpot (TM) de 64 bits del servidor VM, Java 1.8.0_6 0). Escriba las expresiones para que se evalúen. Tipo: ayuda para obtener más información.