Tag: 斯卡拉

计算string中所有字符的出现次数

斯卡拉有一个本地的方法来计算一个string中的所有字符? 如果是这样,我该怎么做? 如果不是,我需要使用Java吗? 如果是这样,我该怎么做? 谢谢!

用scala中的重载构造函数定义你自己的exception

在Javaexception至less有这四个构造函数: Exception() Exception(String message) Exception(String message, Throwable cause) Exception(Throwable cause) 如果你想定义自己的扩展,你只需要声明一个派生的exception,并实现每个所需的构造函数调用相应超级构造函数 你怎么能在scala中实现同样的function呢? 到目前为止,我看到这篇文章和这个答案 ,但我怀疑必须有一个更简单的方法来实现这样一个共同的东西

如何将Map 转换为Scala中的SortedMap? 还是一个TreeMap?

我想将Map[Int, Any]转换为SortedMap或者TreeMap 。 有一个简单的方法来做到这一点?

在Scala中声明多个variables

我想用val来声明多个variables像这样: val a = 1, b = 2, c = 3 但无论什么原因,这是一个语法错误,所以我最终使用: val a = 1 val b = 2 val c = 3 要么 val a = 1; val b = 2; val c = 3; 我个人觉得这两个选项过于冗长而且有点丑陋。 有更好的select吗? 另外,我知道Scala是非常深思熟虑的语言,那么为什么不是val a = 1, b = 2, c = 3语法是否允许?

运行Java给出“错误:无法打开”C:\ Program Files \ Java \ jre6 \ lib \ amd64 \ jvm.cfg“

经过多年的努力,我试图启动JVM时突然收到这条消息: Error: could not open `C:\Program Files\Java\jre6\lib\amd64\jvm.cfg' 我试图卸载,并得到一个消息,说一个DLL丢失(未指定)尝试重新安装,都无济于事。 与此同时,当试图启动Scala时,我得到: \Java\jdk1.6.0_25\bin\java.exe was unexpected at this time. 检查%JAVA_HOME%和%path% – 都OK 谁能帮忙?

为什么没有选项有折叠方法?

我想知道为什么scala.Option没有像这样定义的方法fold : fold(ifSome: A => B , ifNone: => B) 相当于 map(ifSome).getOrElse(ifNone) 有没有比使用map + getOrElse更好?

如何在Scala编译器插件中添加一个新的类?

在Scala编译器插件中,我试图创build一个实现预先存在的特性的新类。 到目前为止,我的代码如下所示: def trait2Impl(original: ClassDef, newName: String): ClassDef = { val impl = original.impl // Seems OK to have same self, but does not make sense to me … val self = impl.self // TODO: implement methods … val body = impl.body // We implement original val parents = original :: impl.parents val newImpl = […]

替代Scala REPL breakIf在2.10中

我在这里阅读了关于在REPL代码中使用breakIf方法进行交互式debugging的问题,但是后来我发现这个post中说break和breakIf是从Scala 2.10中的breakIf中删除的。 不幸的是,这个post并没有解释为什么代码被删除。 我假设这些function被删除,因为有更好的方法来做到这一点。 如果是这样的话,有人可以赐教吗?

Jack(Java Android编译器套件)如何影响Scala开发人员

现在随着杰克 Google的发布澄清了Java在Android方面的可预见的未来。 但是对Scala和其他基于JVM的语言开发人员有什么影响。 尤其是: 由于自己的编译器生成Java字节码,Scala确实很神奇。 但杰克工具链不处理字节码 。 将生成的字节码获得杰克处理的优化好处吗? 从Scala 12开始,只支持Java 8+。 这就是生成的字节码也是Java 8+。 杰克能否使用Java 8字节码(没有或有限制)? 可以新支持的Java 8function用于开发较旧的Android版本(minSdkVersion <'N'),或者我应该为每个Java版本维护单独的分支? (从文档中不清楚)。 所有这些问题归结为一个:Scala可以用于未来的Android开发,而不牺牲新的Scalafunction和新的Android工具链的好处? 相关阅读: Java 8语言特性 杰克(Java的Android编译器套件) 新的Android工具链 – 杰克和吉尔 杰克和吉尔构build系统(幻灯片) Hello World,满足我们新的实验工具链 斯卡拉2.12路线图 请在评论或答案中分享相关链接 相关问题: Android N Java 8function(Jack编译器)和Kotlin互操作 有关: 在Android上的小组讨论 请为杰克工具function请求投票: Jill支持Java 8字节码(库) 支持Java 8语言function 编辑: 我试图推理(不回答)我的问题,希望专家会纠正我,如果我错了。 下面是Jack的一个假设stream程,其中增加了一些基于我的逻辑和我从可用文档中学到的额外的块。 基本的假设是,Dalvik最多支持Java 7字节码指令。 如果这是正确的Java 8指令不能直接传递给Dalvik,它们应该以某种方式转换为Java 7.(可能类似于Scala编译器总是这样)。 比问题是转换发生在哪里? 似乎Jill现在不能处理Java 8字节码,所以可能发生在假设stream程的块(3)中。 […]

推荐的Scala io库

根据所有的说法,斯卡拉的Source是一个混乱 – 我读过的所有资料提到资源开放,神秘的错误… 我想知道在最近的Scala版本中是否仍然如此,如果是的话,还有什么值得select的? 我主要听说过scala-io和scalaz-streams (以及显然标准的Java IO原语)。 我错过了什么? 如果有人有这些或其他项目的经验,他们各自的优点和缺点是什么? 我倾向于去scala-io ,因为我发现作者的博客是一个相当高质量的信息有用的来源,但我想知道更多关于替代scheme和其他人使用什么。