小编Joh*_*ood的帖子

什么是密封特性?

"Scala编程"中描述了密封类,但密封特性不是.我在哪里可以找到有关密封特性的更多信息?

我想知道,如果密封的特性与密封的类相同吗?或者,如果没有,有什么区别?何时使用密封特性(何时不是)?

scala traits sealed

322
推荐指数
6
解决办法
8万
查看次数

如何通过谓词将序列分成两部分?

如何通过谓词将序列拆分为两个列表?

替代方案:我可以使用filterfilterNot编写自己的方法,但是没有更好的更通用(内置)方法吗?

scala

111
推荐指数
4
解决办法
5万
查看次数

如何创建具有相同元素n次的列表?

如何创建具有相同元素n次的列表?

手动执行:

scala> def times(n: Int, s: String) =
 | (for(i <- 1 to n) yield s).toList
times: (n: Int, s: String)List[String]

scala> times(3, "foo")
res4: List[String] = List(foo, foo, foo)
Run Code Online (Sandbox Code Playgroud)

还有内置的方法来做同样的事情吗?

scala

87
推荐指数
3
解决办法
4万
查看次数

`hashCode`的默认实现是什么?

如果没有覆盖该hashCode方法,那么默认实现是hashCode什么?

java hashcode

54
推荐指数
3
解决办法
6万
查看次数

如何以最佳方式传递元组参数?

如何以最佳方式传递元组参数?

例:

def foo(...): (Int, Int) = ...

def bar(a: Int, b: Int) = ...
Run Code Online (Sandbox Code Playgroud)

现在我想将输出传递foobar.这可以通过以下方式实现:

val fooResult = foo(...)
bar(fooResult._1, fooResult._2)
Run Code Online (Sandbox Code Playgroud)

这种方法看起来有点难看,特别是当我们处理一个n-tuple时n > 2.此外,我们必须将foo的结果存储在一个额外的值中,因为否则foo必须使用多次执行bar(foo._1, foo._2).

有没有更好的方法来通过元组作为参数?

arguments scala tuples

35
推荐指数
3
解决办法
2万
查看次数

为什么Fabric没有初始化?java.lang.IllegalStateException:在使用singleton()之前必须初始化Fabric

我为我的Android应用程序(使用Android studio 3.1.3)开始使用Firebase Crashlytics设置了Firebase Crashlytics .在我自己的设备和模拟器上,一切正常,我的崩溃在Firebase控制台中正确显示.到现在为止还挺好.

但是,我的一个应用用户发生了意外情况:

java.lang.IllegalStateException:在使用singleton()之前必须初始化Fabric

异常被抛出在另一个Activity中,而不是MainActivity.

我知道您可以通过调用手动执行此处所述的初始化.Fabric.with(this, new Crashlytics());但是,没有任何关于必须在上面提到的入门文章中手动初始化Crashlytics的说法.我期待这是自动完成的,因为我自己的所有测试运行良好.那么为什么对于一些用户来说Crashlytics设置正确而有些用户没有?

android firebase crashlytics

32
推荐指数
3
解决办法
1万
查看次数

连接两个不可变的映射 - 哪些元素是首选的?

当连接两个不可变映射时,似乎右操作数的元素将"覆盖"左边元素的元素:

scala> List((1, 2), (5, 6)).toMap ++ List((5, 9)).toMap
res13: scala.collection.immutable.Map[Int,Int] = Map(1 -> 2, 5 -> 9)

scala> List((5, 9)).toMap ++ List((1, 2), (5, 6)).toMap
res14: scala.collection.immutable.Map[Int,Int] = Map(5 -> 6, 1 -> 2)
Run Code Online (Sandbox Code Playgroud)

我想知道,如果这是Scala的规则?

从Scala API我无法弄清楚这个问题.

scala map

31
推荐指数
2
解决办法
3万
查看次数

如何在Windows 7下为进程设置超时?

我想用Windows批处理文件启动一个程序.但程序应该在一定的超时值后停止.例如:运行程序60秒并在60秒后停止.

在Linux下,有一个很好的timeout命令来做我想要的.Windows也有一个timeout命令,但它只是暂停一个命令,以延迟执行.Windows下还有其他东西吗?

设置:Windows 7,64位,专业版

timeout batch-file

27
推荐指数
3
解决办法
4万
查看次数

`isInstanceOf`是如何工作的?

假设,我们有:

class B
class A extends B
trait T
Run Code Online (Sandbox Code Playgroud)

然后它成立:

val a: A with T = new A with T 
a.isInstanceOf[B]  // result is true !
Run Code Online (Sandbox Code Playgroud)

是不是说,isInstanceOf如果在子类型关系中至少有一种类型(不是所有类型)与右侧匹配,那么方法会检查?

在第一次看,我认为有类型的值A with T不可能是一个亚型B,因为A T没有的两种亚型B.但它是A 或是 T一个子类型B- 是吗?

scala subtype

25
推荐指数
2
解决办法
4万
查看次数

什么是集合类型的默认相等比较器?

HashSet没有参数的构造函数的MSDN API中,它指出

初始化一个空的HashSet类的新实例,并使用集合类型的默认相等比较器.

什么是集合类型的默认相等比较器,例如自定义类?

BTW:它只是我或MSDN API文档在解释上真的有点薄吗?我在阅读时不止一次地绊倒这些问题.

c#

25
推荐指数
2
解决办法
2万
查看次数