2010-09-09 24 views

回答

10

注意sum回报Unit

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

这是因为你错过了方法声明和身体之间的等号:

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

你应该已经宣布它像这样:

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

值得一提的是'()'*是*'Unit' – 2010-09-09 23:38:26

6

你的问题不是铸造,而是你的函数定义。因为您在函数参数和函数体之前省略了=,所以它返回Unit(即无),如REPL告诉您的:sum: (x: Double,y: Int)单位。只需添加等号:

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

现在你sum方法将返回一个Double