草庐IT

scala-tools

全部标签

java - SBT 运行 scala 和 java 之间的差异?

我正在尝试关注log4j2configurationtutorials在SBT0.12.1项目中。这是我的build.sbt:name:="LoggingTest"version:="0.0"scalaVersion:="2.9.2"libraryDependencies++=Seq("org.apache.logging.log4j"%"log4j-api"%"2.0-beta3","org.apache.logging.log4j"%"log4j-core"%"2.0-beta3")我有两个独立的主类。第一个是src/main/scala/logtest/ScalaTest.sca

java - Scala 和 Java 的 future 显然有意想不到的互动

我们在ScalaPlayFramework应用程序中使用Elasticsearch0.90.7,其中“doSearch”方法的结尾如下所示:defdoSearch(...)={...valactionRequessBuilder:ActionRequestBuilder//constructedearlierinthemethodvalexecutedFuture:ListenableActionFuture=actionRequestBuilder.executereturnexecutedFuture.actionGet}其中ListenableActionFutureextend

java - 在 Intellij 中导入 Scala 库时出现问题

我正在尝试将一个项目导入到intellij中。我正在使用javasdk并尝试导入scala库。当我尝试运行我的代码时,我得到了Warning:scala:skippingScalafileswithoutaScalaSDKinmodule(s)main当我尝试添加scala库时:File>ProjectStructure>GlobalLibraries>+>scala-sdk(2.11.7)>Apply我收到另一条错误消息:Module"lab1"mustnotcontainsourceroot"C:\Users\Andrew\lab1\src\main\scala".Theroota

java - Scala 和 Java 泛型——提取和返回嵌套类型

Java泛型可以根据表达式的返回类型推断出泛型类型参数的类型。请考虑以下事项:publicstaticTuncheckedCast(Objecto){return(T)o;}我们可以这样调用它:MapbazbogMap=newHashMap();Stringfoo=uncheckedCast(bazbogMap);这将编译但抛出RuntimeException当它被调用时,因为它会尝试转换Map到String但失败了。但重点是Java推断出的值。基于调用站点的预期结果类型。我们也可以在Scala中使用:defuncheckedCast[T](o:AnyRef):T=o.asInstan

IntelliJIDEA for Scala 中的 Java 字节码反编译器

我使用的是IntellijIDEA终极版。浏览从java源代码编译的.class文件很容易:我只需双击.class文件,IDEA就会反编译它。但是,对于从scala源代码编译的.class文件,它不起作用。似乎IDEA只是引用了scala源文件。我注意到只有在安装了scala插件的情况下,IDEA才会表现得像那样。没有它它工作正常。有没有办法在不关闭scala插件的情况下使用IDEA进行反编译? 最佳答案 最终在Intellij中发布了此功能。来自officialwebsite:YoucandecompileyourScalacod

java - 收集参数以应用于 Java/Scala 中的柯里化(Currying)函数

我想在Java8中创建一个类,它能够递归地创建一个对象,该对象具有一个根据我添加的参数采用函数参数的方法。例如,我希望能够这样做:newX().param(23).param("someString").param(someObject).apply((Integera)->(Stringb)->(Objectc)->f(a,b,c))然后apply方法会将收集到的参数应用到给定的函数。我觉得这应该可以在保持类型安全的同时无需反射(reflection),但我不太清楚如何做到这一点。如果我可以将其转换为Java8,也欢迎使用Scala中的解决方案。如果不可能,我也会接受解释原因的答案。

java - 如何声明 scala 方法以便可以使用可变参数样式从 Java 调用它

我在Scala库类中有2个简单的方法:classFoo{defbar(args:String*):Unit=println("Foo.barwith:"+args)defbar(args:Array[String]):Unit=bar(args.toSeq:_*)}这一切都很好地编译。然后我将其放入库foo.jar并尝试编译以下Java代码:importFoopublicclassTest{publicstaticvoidmain(String[]args){Foofoo=newFoo();foo.bar("Hello","World");//DOESNOTCOMPILE}}我可以将有

java - 如何将 Java 字节数组转换为 Scala 字节数组?

我是Scala的新手,目前正在从事一个涉及Java和Scala模块的项目。现在我想使用byte[]类型的参数从Java调用Scala方法。Scala方法具有签名:deffoo(data:Array[Byte])Java调用如下所示:foo(x),其中x的类型为byte[]。IDE告诉我这是不可能的:Themethodfoo(Array)inthetypeBarisnotapplicableforthearguments(byte[])作为附加约束,不建议更改Scala方法。在Java方面,我尝试使用Byte[],但这并没有解决问题。一定存在某种转换? 最佳答

java - scala @Serializable 和 Java Serializable 有什么区别?

scala@Serializable的Action方式与JavaSerializable不同吗?我的意思是序列化对象的方式还是两者都使用相同的标准序列化? 最佳答案 Scala可以编译为JVM字节码,所以唯一的区别在于Scala如何实现这种转换。Scala在类型检查期间将注解转换为接口(interface),这可能会导致一些微妙的问题seehere.无论如何,Afaik@Serializable已被弃用-与scala中的其他注释(volatile注释而不是说明符)相比,我无论如何看不到太多优势..不会使代码更清晰或更简单。

用 Rust 开发的 Python 包管理工具,可替换 pip、pip-tools 和 virtualenv

在Astral,我们为Python生态系统构建高性能的开发工具。我们最出名的是Ruff,一个极其快速的Pythonlinter和格式化工具。(译注:对Ruff的介绍性能最快的代码分析工具,Ruff正在席卷Python圈!)今天,我们发布了Astral工具链中的下一个工具:uv,一个用Rust开发的高性能的Python包解析器和安装器。图片图注:使用热缓存来解析(左)和安装(右)Trio依赖项,以模拟重新创建虚拟环境或向现有项目添加依赖项uv旨在作为pip、pip-tools和virtualenv的直接替代品,现在就可以用于生产环境中那些围绕这些工作流构建的项目。产品原则与Ruff一样,uv的实