Как привести значение Scala, уже определенное в функции - PullRequest
4 голосов
/ 10 сентября 2010

как конвертировать значение при его использовании? Пример:

scala> def sum(x:Double, y:Int) {
     | x + y
     | }
sum: (x: Double,y: Int)Unit

scala> println(sum(2,3))
()

Как изменить строку с println для печати правильного числа?

Спасибо

Ответы [ 2 ]

10 голосов
/ 10 сентября 2010

Обратите внимание, что sum возвращает Unit:

sum: (x: Double,y: Int)Unit

Это происходит потому, что вы пропустили знак равенства между объявлением метода и телом:

def sum(x:Double, y:Int) {

Вы должны были это объявитькак это:

def sum(x:Double, y:Int) = {
6 голосов
/ 10 сентября 2010

Ваша проблема не с приведением, а с определением вашей функции. Поскольку вы опускали = перед параметрами функции и телом функции, она возвращает Unit (т.е. ничего), как сказал REPL: sum: (x: Double,y: Int) Единица . Просто добавьте равные:

def sum(x: Double, y: Int) = {
  x + y
}

Теперь ваш sum метод вернет Double.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...