Tag: scala

什么是最好的Scala生成系统?

我在这里看到关于IDE的问题 – 哪个是Scala开发最好的IDE? 目前Scala的工具状态是什么? ,但是我有与IDE的混合体验。 现在,我正在使用带有自动工作区刷新选项的Eclipse IDE,以及KDE 4的Kate作为我的文本编辑器。 以下是我想要解决的一些问题: 使用我自己的编辑器 IDE是真正面向每个人使用他们的组件。 我更喜欢凯特,但刷新系统是非常烦人的(它不使用inotify,而是可能是10s轮询间隔)。 我不使用内置文本编辑器的原因是因为自动完成function失效导致IDE挂起10秒钟。 仅重build修改的文件 Eclipse构build系统已损坏。 它不知道什么时候重build类。 我发现自己几乎有一半时间要进行项目 – >清理。 更糟糕的是,它似乎即使它完成我的项目后,几分钟后它会popup一些奇怪的错误( 编辑 – 这些错误似乎是以前解决了一个项目>干净,但后来又回来了。 ..)。 最后,如果“项目包含错误”设置“首选项/继续启动”为“提示”似乎对Scala项目没有影响(即,即使有错误也会启动)。 构build定制我可以使用“nightly”版本,但是我想要修改和使用我自己的Scala构build版本,而不是IDE内置的编译器。 将[例如] -Xprint:jvm传递给编译器(打印出更低的代码)也不错。 快速编译虽然Eclipse并不总是正确的,但它看起来很快 – 甚至比fsc更好。 我看着Ant和Maven,虽然还没有用过(我还需要花时间解决#3和#4)。 我想看看是否有人有其他build议,然后才花时间让次优build设系统工作。 提前致谢! 更新 – 我现在使用Maven,将项目作为编译器插件传递给它。 这似乎足够快, 我不确定Maven做了什么样的jarcaching。 当前的Scala 2.8.0版本可用[ 链接 ]。 原型非常酷,跨平台支持似乎非常好。 然而,关于编译问题,我不确定fsc是否实际上是固定的,或者我的项目足够稳定(例如类名不变) – 手动运行并不会影响我。 如果你想看一个例子,可以随意浏览我正在使用的[ github ]中的pom.xml文件。 更新2 – 从我看到的基准,Daniel Spiewak是正确的,build设者比Maven更快(如果一个正在做增量更改,Maven的10秒延迟变得烦人),所以如果可以制作兼容的构build文件,那么它可能值得…

我应该如何思考Scala的产品类?

包“scala”有许多类Product,Product1,Product2等,直到Product22。 这些类的描述无疑是精确的。 例如: Product4 is a cartesian product of 4 components 确实,是的。 交际? 没那么多。 我期望这是一个已经理解这里使用的“笛卡尔产品”意义的人的完美措辞。 对于没有的人来说,这听起来有点循环。 “哦,是的,当然,产品4是四个咕</s>咕嘟咕嘟的咕咕咕咕咕咕咕咕咕咕咕咕咕 请帮助我理解正确的function语言观点。 这里使用的“笛卡尔积”是什么意思? 产品类的“投影”成员表示什么?

我如何构build和parsingScala / Lift中的JSONstring

我正在尝试使用JSON在浏览器和我的应用程序之间发送数据。 我正在尝试使用Lift 1.0创build和parsingJSONstring,但出于某种原因,我无法parsing刚刚构build的JSON: scala>import scala.util.parsing.json.JSON._ import scala.util.parsing.json.JSON._ scala> import net.liftweb.http.js._ import net.liftweb.http.js._ scala> import net.liftweb.http.js.JE._ import net.liftweb.http.js.JE._ scala> val json = JsObj(("foo", 4), ("bar", "baz")).toJsCmd json: String = {'foo': 4, 'bar': 'baz'} scala> parseFull(json) res3: Option[Any] = None 我如何以编程方式在Scala / Lift中构build一个有效的JSON消息,并且可以再次parsing?

在Scala中,如何使用多个构造函数inheritance一个Java类?

假设我有一个带有多个构造函数的Java类: class Base { Base(int arg1) {…}; Base(String arg2) {…}; Base(double arg3) {…}; } 我怎样才能扩展它在斯卡拉,仍然提供访问所有三个基地的构造? 在Scala中,子类只能调用其超类的构造函数之一。 我该如何解决这个规则? 假设Java类是我无法更改的遗留代码。

configuration在eclipse中运行Scala

我是斯卡拉的初学者。 我在eclipse中安装了Scala IDE,现在我想运行我的应用程序。 它从不显示“作为Scala应用程序运行”,而是显示“以Java应用程序运行”或“Java applet” 我打开“运行configuration”,点击“Scala应用程序”,我的项目名称是“test”,第二列是“Class Main”。 我需要填写什么? 我填写了“Main.Scala”,但是它声明“找不到mainmain main.scala”。 你可以帮我运行这个项目吗?

Scala Functor和Monad的区别

可以请某人解释在Scala上下文中Functor和Monad之间的区别吗?

在Scala中定义方法的九种方法?

所以我一直试图通过各种方式来解决你在Scala中定义的东西,复杂的是我对块的处理方式缺乏理解: object NewMain extends Thing{ def f1 = 10 def f2 {10} def f3 = {10} def f4() = 10 def f5() {10} def f6() = {10} def f7 = () => 10 def f8 = () => {10} def f9 = {() => {10}} def main(args: Array[String]){ println(f1) // 10 println(f2) // () println(f3) […]

在sbt执行Java版本的Scala项目?

我的scala应用程序只能运行在Java 7上,因为它依赖于只在该版本的JDK中出现的库。 如何在sbt中执行该操作,以便在启动sbt来运行/编译应用程序时,如果使用的是错误版本的Java,则会立即向用户显示正确的错误消息? 注意:这里没有 Java™源代码可以编译。 我只有 Scala源代码。 Scala代码需要一个可从Java 7获得的import java.nio.file.Path 。

Scala中的function反应式编程

是否有任何为Scala编写的库,可以实现function反应式编程?

expression式与foreach在斯卡拉

我正在通过Scala中的编程工作,虽然我很想从Python的angular度来看待事物,但是我不想编写“Scala中的Python”。 就控制stream程而言,我不太确定该怎么做:在Python中,我们使用for x in some_iterable去死,我们喜欢它。 在Odersky调用for expression式的 Scala中存在一个非常类似的构造,可能将它与Java for循环区分开来。 另外,对于可迭代数据types,Scala还有一个foreach属性(我想这将是一个属性,我不太了解Scala的名称)。 不过,似乎我不能使用foreach来为容器中的每个项目调用一个函数。 这让我有几个问题。 首先,对于在Scala中重要/重要的expression式,就像它们在Python中一样,第二,何时应该使用foreach而不是forexpression式(除了在容器的每个项目上调用函数的明显情况)? 我希望自己不是非常模棱两可,但是我只是想在Scala中devise一些devise/语言基础知识(目前看起来非常酷)。