我是scala学习集合的新学习者。我想将我的参数添加到集合中,然后从函数中返回它。
def singleElementSet(elem: Int): Set ={
var newSet = Set()
newSet+= elem
}
我尝试了这个,但它给了我错误,如:
type Set takes type parameters
- type Set takes type parameters
和
对于elem
type mismatch; found : elem.type (with underlying type Int) required: Nothing
答案 0 :(得分:3)
您必须通过示例中的Set [Int]定义Set中的内容。创建新集时,您必须指定它的类型:
val newSet = Set.empty[Int]
或初始化Set with something:
val newSet = Set(1)
但是,你可能要么使用var OR一个可变的Set来完成很多工作。例如,您的代码应如下所示:
var newSet = Set.empty[Int]
def singleElementSet(elem: Int): Set[Int] = {
newSet+= elem
}
(每次调用方法时都无法将Set定义为空集,或者结果不会加起来)
答案 1 :(得分:2)
我认为你想要的是
def singleElementSet(elem: Int): Set[Int] = {
val newSet = Set.empty[Int]
newSet + elem
}
或者您可以直接创建该集
def singleElementSet(elem: Int) = Set(elem)