Я новичок в scala, и я выполняю некоторые упражнения из книги, чтобы реализовать список.найдено scala.Int (0) required Int 0
У меня есть метод sum
, чтобы добавить все числа в список. Я использую TDD-подход, поэтому сначала я просто возвращаю 0, чтобы он сработал. Но компилятор жалуется на несоответствие типов. Он ожидает, что Int
получил scala.Int
.
def sum[Int](as: MList[Int]): Int =
{
0
}
Пожаловаться сообщения:
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 до new Int(0)
, Int(0)
, (Int)0
, new Int
(я родом из C++) в соответствии с типом возвращаемого, и он не работает тоже.
В чем разница между scala.Int(0)
и литералом 0
? Разве я забыл включить какой-то пакет, такой как встроенный пакет чисел?
Спасибо! Оно работает. Поскольку предыдущий метод, который я реализовал, является 'def apply [A] (as: A *): MList [A] = {...}', я просто заменяю A на Int. ха-ха –