小编Ben*_*ich的帖子

将元组附加到元组的MutableList会产生错误

scala> val x = mutable.MutableList[(Int, Int)]()
x: scala.collection.mutable.MutableList[(Int, Int)] = MutableList()

scala> x += (1, 2)
<console>:10: error: type mismatch;
found   : Int(1)
required: (Int, Int)
          x += (1, 2)
                ^
Run Code Online (Sandbox Code Playgroud)

scala tuples scala-collections

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

Scala是如何发生的以及为什么

我已经检查它是否是下面的函数List[Int]List[String].但如果我检查如下,总是如此.为什么以及如何定义要检查List[Int]List[String]键入的函数.

if(checkIntCollection(List("q","aa","aa"))){
    Logger.info("it is true")
} else {
    Logger.info("it is false")
} 
Run Code Online (Sandbox Code Playgroud)

要么

if(checkIntCollection(List(1,2,3))){
    Logger.info("it is true")
} else {
    Logger.info("it is false")
}
Run Code Online (Sandbox Code Playgroud)

以下是检查: -

def checkIntCollection[T](v: T) : Boolean = v match {
    case _: List[Int] =>
      Logger.info("It is List[Int] found")
      true
    case _ =>
      Logger.info("It is unknown")
      false
}

def checkStringCollection[T](v: T) : Boolean = v match {
    case _: List[String] =>
      Logger.info("It is List[String] found")
      true
    case _ …
Run Code Online (Sandbox Code Playgroud)

types scala

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

是否有可能找出文件是否是zip文件?

我有一个没有扩展名的文件.但我需要找出该文件是否是使用java的zip文件.有没有办法找出该文件是否是zip格式?

java

2
推荐指数
1
解决办法
991
查看次数

EitherT [Option,A,B] ===选项[A [B,B]]

如果我理解正确EitherT[Option,A,B]应该是相同的Option[Either[A,B]],但编译器不同意.以下代码无法编译:

def f[A,B] = implicitly[EitherT[Option, A, B] === Option[Either[A,B]]] 
Run Code Online (Sandbox Code Playgroud)

我错过了什么?

scala scalaz

2
推荐指数
1
解决办法
133
查看次数

将部分类型参数列表推断为泛型值参数

为什么 Scala 不能像这样推断?

def notInfering[A,B,C](aa: A=>Boolean, bbcc: Tuple2[B,C]) = bbcc
notInfering[Int]((_ > 3), ("string", 123))
Run Code Online (Sandbox Code Playgroud)

编译器生气地说我需要指定类型参数 B 和 C。

这些工作,但它们并不理想:

notInfering[Int,String,Int]((_ > 2), ("string", 123))
notInfering(((a: Int) => a > 2), ("string", 123))
Run Code Online (Sandbox Code Playgroud)

理论上,Scala 不应该能够推断出最后两个参数吗?这可以用另一种方式完成或表达吗?如果不是,这是否是 Scala 能够推断部分类型参数列表的一个好功能?

scala typeclass

2
推荐指数
1
解决办法
442
查看次数

连接字符串列表

是否有内置方法来获取字符串列表中的所有字符串并在Scala中连接它们?如果没有,我该怎么做?

scala

2
推荐指数
1
解决办法
700
查看次数

如何将Scala函数作为函数传递给另一个函数?

我只是不了解如何从以前的函数构建函数.

例如,math.min()至少需要两个数字的函数.如果我想创建一个函数min3Z(a:int, b:int, c:Int)怎么办?我将如何构建它min

scala function

2
推荐指数
1
解决办法
109
查看次数

反汇编Scala代码

我该如何反汇编Scala代码?可以在没有首先构建Jar并对生成的.class文件进行反编译的情况下完成吗?有没有其他更快的方法来做到这一点?

对于Python dis ,可以使用如下:

def myfunc(alist):
    return len(alist)

>>> dis.dis(myfunc)
  2           0 LOAD_GLOBAL              0 (len)
              3 LOAD_FAST                0 (alist)
              6 CALL_FUNCTION            1
              9 RETURN_VALUE
Run Code Online (Sandbox Code Playgroud)

scala disassembly

2
推荐指数
1
解决办法
204
查看次数

Scala函数采用地图,修改值并返回地图

我试图了解for与Scala相关的理解Maps.我有以下代码,我的意图是打破键值对,对值执行某些操作并返回修改后的值Map.我使用正确的功能还是应该使用其他功能?

val kvpair = Map("a" -> 1, "b" -> 2, "c" -> 3)

def multiplyValues(map: Map[Char, Int]) = {

          for {
              char <- map._1  
              value <- map._2 * 2
          } yield (char, value )
  }
Run Code Online (Sandbox Code Playgroud)

collections scala for-comprehension

2
推荐指数
1
解决办法
746
查看次数

如何创建一个scala函数,返回数组中偶数值的数量?

我正在尝试创建一个返回数组中偶数值的函数.到目前为止,我有以下代码,但它不起作用:

(a: Array[Int]): Int = {
  var howManyEven = 0
  for(i <-0 to a.length) {
    if(a(i)%2==0){
      howManyEven+= 1
    }
    howManyEven
  }
Run Code Online (Sandbox Code Playgroud)

另外,由于某种原因,我很难过如何返回数组中奇数值的数量.我的方法关闭了吗?我想我只是想知道用什么方法来生成我想要的输出.

scala

2
推荐指数
1
解决办法
113
查看次数