Tag: Scala

Scala 2.10-M1和2.9同时在Devel机器上?

编辑: 得到它排序,SCALA_HOME + / bin到PATH设置默认解释器; 即从bash提示符输入“scala”在我的情况下调用2.9.1。 刚刚下载2.10.0.M1。 从bash中调用/path/to/2.10/bin/scala调出2.10 REPL。 我只是添加一个2.10的终端别名,所以我不必手动输入路径。 原版的: 我是否需要一个客户虚拟机来解决这个问题,或者在Linux中,我可以以某种方式运行2.10和2.9并行? 基本上,我想用2.10-M1反射进行试验,看看在继续进行一般的2.9.1开发的同时,我可以在case类上发生什么样的运行时间混乱。 如果没有,一个科特林式的网络演示肯定会很好,在2.10进化过程中混乱…

对于任何IDE来说,Scala是否太复杂,以支持重构,这相当于对Java / C#的重构支持?

在typeafe.com上的Scala IDE的功能列表吹捧像重命名,提取方法等基本的重构支持。但是我发现支持是相当糟糕的。 它很容易中断,我发现这对大型项目的可用性是不利的。 在一个项目中,我们将继续使用scala,缺乏工具对于在Scala工作的Java和C#开发人员来说可能是最难的。 当重命名仍然不能正常工作时,很难说服人们对编写代码感到兴奋。 有人建议Scala太复杂了。 一个最初由Jetbrains在其网站上的Kotlin常见问题解答中提出的声明似乎很流行。 这个说法有什么要求吗? 在这一点之前,类型安全是否能够充分地为这个功能提供资源?

Python中的PIP风格的本地Java包管理系统?

我想用Java或其他JVM语言(如Scala,Kotlin或Groovy)进行编程。 当我在我的项目上编程时,我只想在我的Java / Scala / Kotlin源文件中导入语句,而无需在Gradle / Maven构建脚本中再次声明这些包。 相反,我想要像在Python中那样工作,即在我的源文件的开头有我的导入语句,我就完成了。 如果所有软件包都安装在本地中央软件包管理系统中,或者得到一个错误消息,告诉我必须安装缺少的软件包,那么在编译时应该自动包含这些软件包。 它应该基本上和Python和PIP一样工作。 像Groovy或Maven这样的工作流是可能的吗? 提前致谢!

在同一个项目中使用多个JVM语言

我想在项目中使用Kotlin和Scala,也许还有一些其他的语言,但我没有看到这样做的好方法。 我想到的唯一方法是编译一种语言,并将其反编译为Java与其他语言一起工作。 有没有其他的选择?

Kotlin的扩展功能如何工作?

比方说,我想要一个整数,提供一个square方法。 Kotlin : fun Int.square() = this * this 用法: println("${20.square()}") DOC: 扩展实际上并不修改它们扩展的类。 通过定义扩展,不要将新成员插入到类中,而只需使用这种类型的变量的点符号来调用新函数。 我们要强调的是,扩展功能是静态调度的 我的期望是,他们只是在编译期间将它添加到扩展类的成员函数中,但这是他们明确否定的,所以我的下一个想法是它可以像“scala implicits”那样“排序”。 斯卡拉 : object IntExtensions{ implicit Class SquareableInt(i:Int){ def square = i*i } } 用法: import IntExtensions._ 接着 println(f"${20.square}") DOC: 一个隐式类被剥离成一个类和隐式方法配对,其中implciit方法模仿类的构造函数。 生成的隐式方法将具有与隐式类相同的名称。 但是,斯卡拉暗示创建一个新的类,这将禁用这个使用。 那么… Kotlin如何扩展类呢? “打电话”并没有多大的意义。

Kotlin VS Scala:使用主构造函数参数实现方法

在斯卡拉你可以写这样的代码。 trait List[T] { def isEmpty() :Boolean def head() : T def tail() : List[T] } class Cons[T](val head: T, val tail: List[T]) :List[T] { def isEmpty = false } 你不需要覆盖它们已经定义的尾部和头部,但是在Kotlin中,我必须对它进行编码。 interface List<T> { fun isEmpty() :Boolean fun head() : T fun tail() : List<T> } class Cons<T>(val head: T, val tail: List<T>) :List<T> { […]

Json到Kotlin数据类

有没有一种方法和/或库自动创建从Json Kotlin数据类,就像它在Scala Json.Spray中工作? 像这样的东西: data class User(id: Int, name: String) class DataClassFactory(val json: String) { fun getUser(): User { //some reflection return User(10, "Kirill") } } fun main(args: Array<String>): Unit { val json = "{id: 10, name: Kirill}" val usr = DataClassFactory(json).getUser() println(usr) }

斯卡拉要求()相当于Kotlin

在Scala中,我们有一个require方法来设置类的前提条件 class Rational(x: Int, y: Int) { require(y != 0, "denominator must be different than zero ") 我的问题是:我们在Kotlin有类似的东西吗?