草庐IT

scala-compiler

全部标签

java - 混合 Scala 和 Java : How to get generically typed constructor parameter right?

我有一些遗留的Java代码定义了一个通用的payload变量在我控制之外的地方(即我不能改变它的类型)://JavacodeWrapperpayload=...我收到这样一个payload值作为我代码中的方法参数,并想将它传递给Scalacaseclass(到用作Actor系统的消息),但不要正确定义,这样我至少不会收到编译器警告。//stillJavacodeScalaMessagemsg=newScalaMessage(payload);这会给出编译器警告“类型安全:构造函数...属于原始类型...”Scala案例类定义为://ScalacodecaseclassScalaMess

java - 使用 Scala 和 Jackson 以及 java.lang.Integer 或 scala.Int 对泛型类型进行奇怪的反序列化问题

我们都知道泛型类型在Java和Scala下会被类型删除。但是我们在使用Jackson和ScalaJackson模块的Scala中遇到了一个奇怪的问题。我创建了一个小测试来展示这个问题。importcom.fasterxml.jackson.databind.ObjectMapperimportcom.fasterxml.jackson.module.scala.DefaultScalaModuleobjectGenericTest{caseclassTestWithInt(id:Option[Int])caseclassTestWithInteger(id:Option[Integer

java - 如何将 scala.collection.Set 转换为 java.util.Set 并在 RDD 中进行序列化

我有一个scala.collection.SetscalaSet:Set[Long]。我如何才能将其转换为可序列化的java.util.Set。我尝试了以下代码,但得到了java.io.notserializableexception:scala.collection.convert.wrappers$setWrapperimportscala.collection.JavaConversions._ClassMySerializableClassextendsSerializable{//methodtoimplementtheScalatoJavaoperationsonthegi

java - 使用 BNF 的 Compiler 编译器

没有使用直接BNF的解析器生成器有什么原因吗?我熟悉JavaCC和Antlr,最近遇到了Parse2.似乎每个人都有自己的符号。BNF真的很容易阅读,而其他符号则不然。BNF是明确的。有什么内在原因导致我无法将BNF提供给编译器编译器并得到解析树吗? 最佳答案 Marpa::R2,Perl接口(interface)Marpa,一个通用的BNF解析器,接受直接的BNF作为语法描述,并在Perl中为它生成一个解析器。这是一个几乎从字面上取自BNFgrammartutorial的示例.::='('')'::=|','::=|::='ant

java - Scala 与 Java 9 不兼容 - java.lang.NoClassDefFoundError

在我的电脑上安装Java9后,只需运行一个示例ScalaSBT项目,我就遇到了这个异常。我已经尝试了一些我找到的解决方案,但一无所获。Java9和Scala之间是否存在不兼容问题?Scala版本:2.12.3Java版本:java版本“9”集成开发环境:IntelliJ提前致谢。info]Compiling7Scalasourcesand1Javasourceto/Users/ermis/Projects/begining-scala/target/scala-2.12/classes...[info]p.a.h.EnabledFilters-EnabledFilters(see):p

java - Scala 的 BDD 工具支持可重用的参数化 Gherkin 子句

Scala是否有支持可重用参数化Gherkin子句的BDD工具?我希望能够使用如下规范:Givennumber4isenteredWhen"+"ispressedAndnumber-1isenteredAnd"*"ispressedAndnumber2isenteredAnd"="ispressedThenresultis6而且我想为Gherkin子句定义fixtures只有一次参数不同,比如:scenario("(4+(-1))*2=6"){given("number4isentered")when("'+'ispressed")and("number-1isentered")and

java - IntelliJ IDE 无法正确检测 Scala 模板

我正在尝试让PlayFramework在IntelliJ中正常工作,但似乎没有正确检测到我的Scala模板。这些是我完成的步骤:设置:Brew安装PlayBrew安装sbt下载并安装适用于IntelliJ的playFramework插件下载并安装适用于IntelliJ的Scala插件为IntelliJ下载并安装SBT插件我从终端运行这个(按以下顺序):玩新的doTest干净编译发挥创意sbt创想在IntelliJ中,我打开项目并检查文件target/scala-2.10/src_managed/main/controllers/routes它看起来像这样:我还尝试按照这些说明逐步设置全

java - Intellij 无法运行 Scala 代码

我有一个同时使用Java和Scala代码的项目。当我尝试在安装了Scala插件0.38.441的Intellij13.1.4上运行Scala的主要功能时,出现以下错误Error:scalac:Error:Scalainstancedoesn'texistorisinvalid:versionunknown,libraryjar:/home/arpit/.m2/repository/org/scala-lang/scala-library/2.11/scala-library-2.11.jar,compilerjar:/home/arpit/.m2/repository/org/scal

java - Scala 包对象getClass

我想为Scala包对象获取java.lang.Class:应用程序/package.scala:packageobjectapp{}应用/Main.scala:打包应用objectMainextendsApp{val_=app.getClass}编译失败:objectgetClassisnotamemberofpackageappNotethatappextendsAny,notAnyRef.Suchtypescanparticipateinvalueclasses,butinstancescannotappearinsingletontypesorinreferencecompari

java - 如何将 Java 双冒号运算符 (::) 翻译成 Scala?

我想使用camunda-bpm-assert-scenario在我的ScalaTests中。我有这段代码receiveTask::receive:when(documentRequest.waitsAtReceiveTask("ReceiveTaskWaitForDocuments")).thenReturn((receiveTask)->{receiveTask.defer("P1DT1M",receiveTask::receive);});根据IsitpossibletouseaJava8stylemethodreferencesinScala?中的回答我可以很容易地将其翻译成:r