2016-03-28 8 views
0

リストのhead要素を取得しようとしていて、その値をオプションとして返しています。リストを返しているリスト[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 
    } 
    } 

は私もSome(res.head)res.headOptionを交換しようとしたと私は同じエラーを取得:私はlist.headOptionを使用するとき、私はlist.headOption戻りfound: Option[List[Int]] required: Option[Int]

はここで機能だと言って、型の不一致エラーが発生します。私は.headがリストの最初の要素を返すことを知ったので、正直に迷っています。

+2

の戻り値の型を変更する必要があり.headOption

を使用されます'available.get((row、col))'?私は 'List [List [Int]]'であり、 'res'に注釈をつけてみてください。 – pedrofurla

+2

この質問に答えるにはコンパイル可能なコードが必要です。種類が何であるかを知るための十分な情報がここにありません。 –

答えて

1

おそらくavailable.get((row, col))List[List[Int]]を返します。この場合、最初の要素はList[Int]、またはあなたのOption[List[Int]]あなたはres.flattenをやっList[List[Int]]からList[Int]に変換することができますが、あなたはおそらくの種類は何available.get((row, col))

関連する問題