Scala foreach不是Int的成员
下面的代码正在引发错误:Scala foreach不是Int的成员,scala,Scala,下面的代码正在引发错误: def sum(args: Int) = { var result = 0 for (arg <- args) result += arg result } error : error: value foreach is not a member of Int for (arg <- args) result += arg 有人能帮我理解吗 def sum(args: Int) = { var result =
def sum(args: Int) = {
var result = 0
for (arg <- args) result += arg
result
}
error : error: value foreach is not a member of Int
for (arg <- args) result += arg
有人能帮我理解吗
def sum(args: Int) = {
var result = 0
for (arg <- args) result += arg
result
}
在上述代码中,
args
是一个Int*
,或一个可变长度参数(或“varargs”),在本例中,这意味着一个或多个Int
s。Varargs被转换为Seq
sforeach
是为Seq
定义的,所以编译器很高兴。我投票决定将这个问题作为离题题题来结束,因为它太基本了,用户也没有做出任何努力。@flavian这不是一个否决的理由吗?没有重复的东西可以作为关闭它的理由吗?@flavian这对我来说似乎是一个完全合理的问题(和答案)——离题是胡说八道。
val s = sum(1, 4, 9, 16, 25)
def sum(args: Int) = {
var result = 0
for (arg <- args) result += arg
result
}
def sum(args: Int*) = {
var result = 0
for (arg <- args) result += arg
result
}