2016-07-29 7 views
1

(String) => Try[(Long, String)]のメソッドを返しました。(Long, String)を取得したいと思います。なにか提案を?(String、String)=> [(Long、String)]を試してください。

map/flatMapは役に立ちそうだが、そうではないようだと思った。

更新

def someMethod():(Long, String) = { 
    val result: (String) => Try[(Long, String)] = someOperation() 
    //Need to get (Long, String) from result 
} 
+0

'.toOption.getOrElse(デフォルト)'パターンマッチングを使用して? –

+0

@私の問題を説明するために@Allがサンプルコードで更新されました –

答えて

4

その後、いくつかの例外を処理するフォールバック値

exceptional.getOrElse(default) 

を提供するオプション

val exceptional: Try[(Long, String)] = ??? 
val default: (Long, String) = (0, "") 

かつ安全get

があります。
exceptional.recover { case exception => default }.get 

又は

exceptional match { 
    case Success(v) => v 
    case Failure(exception) => default 
} 
関連する問題