我试图获取列表的head元素,然后将值作为选项返回。当我使用list.headOption
时出现类型不匹配错误,说list.headOption
返回found: Option[List[Int]] required: Option[Int]
这里的功能是:
def valueAt(row: Int, col: Int): Option[Int] = {
val res = available.get((row, col))
print(res)
if (res.size == 1){
res.headOption
} else {
None
}
}
我还尝试用res.headOption
替换Some(res.head)
,但我得到了同样的错误。老老实实地输了,因为我已经知道.head
会返回列表的第一个元素。
答案 0 :(得分:1)
可能available.get((row, col))
它返回List[List[Int]]
。在这种情况下,第一个元素将是List[Int]
,或Option[List[Int]]
使用.headOption
您可以List[List[Int]]
转换为执行List[Int]
的{{1}},但您应该更改res.flatten
的返回类型