私はこのようなことをしたい。ScalaのOptionをOptionに変換する
if (x > 0) {
Some(123)
} else {
None
}
短い方が次のようになります。
Try(x > 0).toOption.map(_ => 123)
私は条件をチェックするため(例外をキャッチするように設計されている)Try
を使用することが少し不自然に思えます。これを達成する他の方法はありますか?
編集:xが負の場合x > 0
が例外をスローしませんので、
Try
は動作しません。 Option
で
実際には、val y = if(x> 0)と言っても問題ありません。(123)else None –
あなたの 'Try'メソッドは動作していません。私は 'Try(true)'または 'Try(false)'と同じ結果を得ます。 – jwvh
@jwvh悪いです。私は説明を更新します。ありがとう。 – Shouichi