我刚在网上注意到这个构造:
val list = List(someCollection: _*)
Run Code Online (Sandbox Code Playgroud)
什么_*意思?这是一些方法调用的语法糖吗?我的自定义类应满足哪些约束才能利用这种语法糖?
当我试图在Option [String]类型的字段中影响String类型的值时,我收到以下错误:
type mismatch; found : String required: Option[String]
Run Code Online (Sandbox Code Playgroud)
我怎样才能影响myValue:String到现场的价值myField:Option[String]?
我正在尝试编写一个scala函数,它将递归地对列表中的值求和.这是我到目前为止:
def sum(xs: List[Int]): Int = {
val num = List(xs.head)
if(!xs.isEmpty) {
sum(xs.tail)
}
0
}
Run Code Online (Sandbox Code Playgroud)
我不知道如何将各个Int值相加作为函数的一部分.我正在考虑在函数sum中定义一个新函数,并使用一个局部变量,该函数在List迭代时对值进行求和.但这似乎是一种必要的方法.有替代方法吗?
我对Scala的新手在尝试阅读David Pollack的Beggining Scala时有点新意.他定义了一个简单的递归函数,它从文件中加载所有字符串:
def allStrings(expr: => String): List[String] = expr match {
case null => Nil
case w => w :: allStrings(expr)
}
Run Code Online (Sandbox Code Playgroud)
它优雅而且很棒,只是当我试图加载一个庞大的字典文件时它抛出了一个StackOverflow异常.
现在据我所知,Scala支持尾递归,因此函数调用不可能溢出堆栈,可能编译器无法识别它?所以经过一些谷歌搜索后我尝试了@tailrec注释来帮助编译器,但它说
error: could not optimize @tailrec annotated method: it contains a recursive call not in tail position
def allStrings(expr: => String): List[String] =
Run Code Online (Sandbox Code Playgroud)
我理解尾递归错了吗?我该如何修复此代码?
在Scala 2.10中如何从字符串生成一个类(可能使用Toolbox api)以后用Scala的反射进行实例化?
我现在要做的就是打开project.clj,添加依赖那里,运行lein deps重启REPL,那么use,require等等.
问题是我真的不想重新启动repl,因为启动时间很慢,我不得不重新加载我的文件.
那么是否有更好的方法为lein项目添加依赖?没有重新启动repl?
我正在尝试以HTTP 1.1中指定的格式获取Java中的日期字符串.据我所知,这是:
1999年12月31日星期五,格林威治标准时间23:59:59
随着时间一直是格林尼治标准时间.
什么是最简单的方法从日期/日历/?
是否有可能在使用leiningen的项目中与Clojure一起轻松管理和编译本机Java类?
我工作在一个相当低的水平(使用netty nio),并认为一些管道类实际上更容易处理作为原始java在构造代码和性能方面.
我有一个java地图:java.util.Map<SomeObject, java.util.Collection<OtherObject>>
我想将它转换为scala地图:Map[SomeObject, Set[OtherObject]]
我使用了mapAsScalaMap,但结果并不是我想要的,结果是:Map[SomeObject, java.util.Collection[OtherObject]].如何修复它以将集合转换为集合?
注意:实际上我的原始问题是将谷歌转换ArrayListMultimap<SomeObject, OtherObject>为a,MultiMap[SomeObject, OtherObject]但由于这是不可能的,我已经解决了问题.如果您有原始问题的解决方案,我也会接受它作为答案.
java scala type-conversion scala-java-interop scala-collections
有人知道一个好的scala库可以从XML中删除/压缩空格吗?
<foo> <bar>hello world</bar> <baz> xxx </baz> </foo>
至:
<foo><bar>hello world</bar><baz>xxx</baz></foo>
scala ×7
java ×3
clojure ×2
leiningen ×2
date ×1
http ×1
integration ×1
reflection ×1
scala-2.10 ×1
time ×1
toolbox ×1
whitespace ×1
xml ×1