如何转换已在函数中定义的Scala值

时间:2010-09-09 23:04:29

标签: scala

使用它时如何转换值?例如:

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

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

如何使用println修改行以打印正确的数字?

由于

2 个答案:

答案 0 :(得分:10)

请注意,sum会返回Unit

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

这是因为您错过了方法声明和正文之间的等号:

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

你应该这样声明:

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

答案 1 :(得分:6)

您的问题不是使用强制转换,而是使用函数定义。因为你在函数参数和函数体之前省略了=,它返回Unit(即没有),因为REPL告诉你:sum: (x: Double,y: Int) 单位。只需添加等于:

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

现在,您的sum方法将返回Double