DJG*_*DJG 15 scala packages read-eval-print-loop
在Python中,如果我安装了一个包pip install package_name,我可以通过键入打开一个Python repl python,只需按名称导入包,无论我目前在文件系统中的目录是什么.
像这样
$ python
Python 2.7.3 (default, Sep 26 2013, 20:03:06)
[GCC 4.6.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import requests
>>>
Run Code Online (Sandbox Code Playgroud)
并且requests导入了库,我可以在repl中使用它.
在Scala中,我知道如何在一个使用的项目中执行此操作sbt,但出于学习目的,我想以这样的方式安装包,以便我只需scala在命令行键入然后导入已安装的包,而不是与特定项目相关联.
$ scala
Welcome to Scala version 2.10.2 (Java HotSpot(TM) 64-Bit Server VM, Java 1.7.0_40).
Type in expressions to have them evaluated.
Type :help for more information.
scala> import scalaz._
<console>:7: error: not found: value scalaz
import scalaz._
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?
Sch*_*rdt 11
Scala与Python不同.为Scala 2.9.x编译的代码与2.10.x不兼容.因此,如果您使用不同的版本,全局定义可能会导致很多问题.
您可以使用SBT并添加到$ HOME/.sbt/plugins/build.sbt
libraryDependencies += "org.scalaz" %% "scalaz-core" % "7.0.4"
Run Code Online (Sandbox Code Playgroud)
要么
libraryDependencies += "org.scalaz" % "scalaz-core_2.10" % "7.0.4"
Run Code Online (Sandbox Code Playgroud)
然后转到/ tmp并使用SBT启动Scala REPL:
sbt console
Run Code Online (Sandbox Code Playgroud)
但从长远来看,这不是一个好主意.
最好的办法是安装SBT,创建一个build.sbt文件并将其放入其中:
libraryDependencies += "org.scalaz" % "scalaz-core_2.10" % "7.0.4"
scalaVersion := "2.10.2"
initialCommands in console := "import scalaz._, Scalaz._"
Run Code Online (Sandbox Code Playgroud)
现在将控制台更改为build.sbt文件夹并运行
sbt console
Run Code Online (Sandbox Code Playgroud)
有了这个,您可以尝试使用REPL并已导入scalaz并在类路径中.此外,还可以轻松添加其他依赖项.SBT很酷,你不需要手动安装新的Scala版本,只需在build.sbt中声明它.
| 归档时间: |
|
| 查看次数: |
5237 次 |
| 最近记录: |