Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
找到scala.Int(0)必需的Int 0_Scala - Fatal编程技术网

找到scala.Int(0)必需的Int 0

找到scala.Int(0)必需的Int 0,scala,Scala,我是scala新手,我正在运行书本上的一些练习,准备实现一个列表 我有一个方法求和来添加列表中的所有数字。我使用TDD方法,所以首先我只返回0以使其失败。但是编译程序抱怨类型不匹配。它需要Int,但收到了scala.Int 投诉信息: MList.scala:17: error: type mismatch; found : scala.Int(0) required: Int 0 ^ one error found 所以我试着改成 def sum[scala.Int]

我是scala新手,我正在运行书本上的一些练习,准备实现一个列表

我有一个方法求和来添加列表中的所有数字。我使用TDD方法,所以首先我只返回0以使其失败。但是编译程序抱怨类型不匹配。它需要Int,但收到了scala.Int

投诉信息:

MList.scala:17: error: type mismatch;
 found   : scala.Int(0)
 required: Int
    0
    ^
one error found
所以我试着改成

def sum[scala.Int](as: MList[scala.Int]): scala.Int = 
{
    0
}
编译器抱怨说。不应存在于[scala.Int]中

我也尝试了0个新的INT0,INT0,INT0,新的int i来自C++,以匹配返回类型,但它也没有用。


scala.Int0和文本0之间有什么区别?是我忘了包含一些包,比如内置数字包吗?

问题是,这里

def sum[Int](as: MList[Int]): Int = 0
       ^^^^^
您正在声明一个名为Int的新类型,它对scala.Int进行阴影处理。 sum方法是泛型的,Int是其类型参数的名称

def sum(as: MList[Int]): Int = 0
只需删除类型参数

def sum(as: MList[Int]): Int = 0

问题是,这里

def sum[Int](as: MList[Int]): Int = 0
       ^^^^^
您正在声明一个名为Int的新类型,它对scala.Int进行阴影处理。 sum方法是泛型的,Int是其类型参数的名称

def sum(as: MList[Int]): Int = 0
只需删除类型参数

def sum(as: MList[Int]): Int = 0

谢谢它起作用了。因为我之前实现的方法是def apply[A]as:A*:MList[A]={…},所以我只是将A替换为Int.HahaThanks!它起作用了。因为我之前实现的方法是def apply[A]as:A*:MList[A]={…},所以我只是将A替换为Int.Haha