草庐IT

scala-cats

全部标签

java - 在 Scala 中,如何子类化具有多个构造函数的 Java 类?

假设我有一个带有多个构造函数的Java类:classBase{Base(intarg1){...};Base(Stringarg2){...};Base(doublearg3){...};}如何在Scala中扩展它并仍然提供对Base的所有三个构造函数的访问?在Scala中,子类只能调用它的父类(superclass)的构造函数之一。我该如何解决这个规则?假设Java类是我无法更改的遗留代码。 最佳答案 很容易忘记一个特征可以扩展一个类。如果你使用trait,你可以推迟决定调用哪个构造函数,如下所示:traitExtendedext

java - Scala 中的 "eval"

Scala可用于编写Java应用程序脚本吗?我需要从Java加载一段Scala代码,为其设置执行范围(主机应用程序公开的数据),对其进行评估并从中检索结果对象。Scala文档展示了从Java调用编译后的Scala代码是多么容易(因为它会变成常规的JVM字节码)。但是我如何动态评估Scala表达式(来自Java,或者如果更简单,来自Scala内部)?对于许多其他语言,有javax.scripting接口(interface)。Scala似乎不支持它,而且我在Java/Scala互操作性文档中找不到任何不依赖提前编译的内容。 最佳答案

java - Scala 中的 "eval"

Scala可用于编写Java应用程序脚本吗?我需要从Java加载一段Scala代码,为其设置执行范围(主机应用程序公开的数据),对其进行评估并从中检索结果对象。Scala文档展示了从Java调用编译后的Scala代码是多么容易(因为它会变成常规的JVM字节码)。但是我如何动态评估Scala表达式(来自Java,或者如果更简单,来自Scala内部)?对于许多其他语言,有javax.scripting接口(interface)。Scala似乎不支持它,而且我在Java/Scala互操作性文档中找不到任何不依赖提前编译的内容。 最佳答案

java - 在 Java 中将 Scala 特征与已实现的方法一起使用

我想不可能从Java调用Scala特征中实现的方法,或者有没有办法?假设我在Scala中:traitTrait{defbar={}}如果我将它用作Java的话classFooimplementsTrait{}Java提示Trait不是抽象的,并且不会覆盖Trait中的抽象方法bar() 最佳答案 回答从Java的角度来看,Trait.scala被编译成Traitinterface。因此,在Java中实现Trait被解释为实现了一个接口(interface)——这使得你的错误信息很明显。简短的回答:你不能利用Java中的trait实现

java - 在 Java 中将 Scala 特征与已实现的方法一起使用

我想不可能从Java调用Scala特征中实现的方法,或者有没有办法?假设我在Scala中:traitTrait{defbar={}}如果我将它用作Java的话classFooimplementsTrait{}Java提示Trait不是抽象的,并且不会覆盖Trait中的抽象方法bar() 最佳答案 回答从Java的角度来看,Trait.scala被编译成Traitinterface。因此,在Java中实现Trait被解释为实现了一个接口(interface)——这使得你的错误信息很明显。简短的回答:你不能利用Java中的trait实现

java - 使用 maven 构建一个 scala 应用程序(其中混入了 java 源代码)

我有一个应用程序,我想混合Java和Scala源代码(实际上是将Java应用程序迁移到scala-但一次一点)。我可以在IDE中完成这项工作,非常好。但是我不确定如何使用maven来做到这一点-scalac可以编译java和scala交织在一起,但是如何为模块设置maven?另外,我的scala源是否必须是与java不同的文件夹? 最佳答案 使用mavenscala插件,像下面这样的配置将适用于混合java和scala源的项目(scala源当然位于/scala目录中,正如其他人所提到的)。您可以运行运行mvncompile、test

java - 使用 maven 构建一个 scala 应用程序(其中混入了 java 源代码)

我有一个应用程序,我想混合Java和Scala源代码(实际上是将Java应用程序迁移到scala-但一次一点)。我可以在IDE中完成这项工作,非常好。但是我不确定如何使用maven来做到这一点-scalac可以编译java和scala交织在一起,但是如何为模块设置maven?另外,我的scala源是否必须是与java不同的文件夹? 最佳答案 使用mavenscala插件,像下面这样的配置将适用于混合java和scala源的项目(scala源当然位于/scala目录中,正如其他人所提到的)。您可以运行运行mvncompile、test

java - 使用 IntelliJ 设置 Scala

我有IntellijUltimate11.1,安装了scala插件。我使用自制软件安装了scala2.9.2,将scala放入:/usr/local/Cellar/scala/2.9.2>>whichscala/usr/local/bin/scala>scala-versionScalacoderunnerversion2.9.2--Copyright2002-2011,LAMP/EPFL创建一个新的java模块项目,我得到了这个:谁能帮我解决这些问题,为什么scala插件不能开箱即用?:) 最佳答案 您需要在第一个屏幕截图上指定/

java - 使用 IntelliJ 设置 Scala

我有IntellijUltimate11.1,安装了scala插件。我使用自制软件安装了scala2.9.2,将scala放入:/usr/local/Cellar/scala/2.9.2>>whichscala/usr/local/bin/scala>scala-versionScalacoderunnerversion2.9.2--Copyright2002-2011,LAMP/EPFL创建一个新的java模块项目,我得到了这个:谁能帮我解决这些问题,为什么scala插件不能开箱即用?:) 最佳答案 您需要在第一个屏幕截图上指定/

scala函数式编程

参考https://juejin.cn/post/7006243598714798094https://www.cnblogs.com/listenfwind/p/11209383.htmlhttps://docs.scala-lang.org/zh-cn/scala3/book/introduction.htmlhttps://bbs.huaweicloud.com/blogs/126988https://bbs.huaweicloud.com/blogs/126988https://mp.weixin.qq.com/s?__biz=MzAxOTc0NzExNg==&mid=26655133