Bagaimana cara mendapatkan versi Scala dari dalam Scala itu sendiri?

91

Ini bukan tentang opsi kompilator baris perintah. Bagaimana saya secara terprogram mendapatkan versi Scala di dalam kode?

Atau, di mana plugin Eclipse Scala v2 menyimpan jalur ke scalac?

mlvljr.dll
sumber
1
Scala IDE untuk Eclipse tidak menyimpan jalur ke scalac; itu memanggil kelas kompilator langsung dari dalam dengan Eclipse JVM.
Jean-Philippe Pellet
2
@ Jean-Philippe Pelet Terima kasih, btw, saya telah menemukan bahwa scala.sys.propsreferensi apa yang tampaknya menjadi perpustakaan scala di bawah sesuatu seperti sun.boot.class.path -> F:\eclipse\configuration\org.eclipse.osgi\bundles\316\1\.cp\lib\scala-library.jar;(dengan jar's library.proertiesmengandung version.number=2.9.0.final). Tapi karena scala.sys.propsada di sana karena 2.9.0hanya itu cukup banyak petunjuk itu sendiri :)
mlvljr
Sial, seseorang, tolong jadikan ini wiki! :)
mlvljr
..heck, ini akan mendapatkan 100 suara positif tahun ini, mungkin, mari terus dorong, teman-teman (siapa tahu Scala begitu berbelit-belit sehingga bahkan hal-hal yang sederhana pun dapat membingungkan Anda).
mlvljr

Jawaban:

123

Ini akan bekerja tanpa akses ke 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
Paul Butcher
sumber
3
Saya harus menambahkan scala saat perpustakaan percikan dimuat terlebih dahulu. Jadiscala.util.Properties.versionString
Francisco López-Sancho
48

Ada tiga cara untuk mendapatkan versi 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
Naga Vijayapuram
sumber
2
Yang pertama adalah yang terbaik dari semua di halaman ini, tampaknya :)
mlvljr
1
FYI util.Properties.versionNumberStringhanya ada sejak scala 2.10.x. Untuk skala di bawah 2.10.x, Anda dapat menggunakan util.Properties.releaseVersion.getOrElse("unknown version")string nomor versi.
jordom
15

Anda bisa mendapatkan versi Scala seperti ini:

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

Saya tidak tahu secara spesifik pluginnya.

HairyFotr
sumber
Saya pikir Anda bisa menggunakan di scala.tools.nsc.Properties.versionStringmana saja.
HairyFotr
Di tangan import scala.tools.nsc.Properties;saya mengatakan "alat objek bukan anggota paket ***. Scala" :(
mlvljr
7
scala.tools...hanya tersedia, jika scala-compiler.jarada di classpath.
michael.kebe
9

Kami juga dapat menginstal versi Scala

  1. Buka command prompt
  2. ketik Scala
  3. Anda akan mendapatkan hasil sebagai berikut:

Selamat datang di Scala versi 2.10.3 (Java HotSpot (TM) 64-Bit Server VM, Java 1.8.0_6 0). Ketik ekspresi agar mereka dievaluasi. Jenis: bantuan untuk informasi lebih lanjut.

Chinya
sumber