如果我将Functions声明为对象而不是类,那么下面的类不会编译,我可以使用Functions.fac(3)来运行方法fac。尝试像这样运行课程,在scala中有意义吗?如何修改下面的代码,使其运行时不更改为对象而不是类?可以用java相同的方式实例化一个scala类
class Functions {
def fac(n : Int) = {
var r = 1;
for(i <- 1 to n) r = r * i;
r
}
def main(args:Array[String]) = {
Functions f = new Functions();
print(f.fac(3));
}
}
使用'new'创建一个新对象并且该代码*应该*编译(即使可能不能运行)是非常有意义的。确保您提出了您想问的问题 - 例如,什么“不起作用”呢? – 2012-08-14 21:55:52