のように機能する(部分関数を使用する)Option
クラスにメソッドがありますが、戻り値の型はありますか?collect
Unit
つまりmap
、collect
そのままforeach
です?
。
申し訳ありませんが、私は Scala を初めて使用しOption
ます。ドキュメントを調べて少し調べましたが、関連するものは見つかりませんでした。
を使用できることはわかっていますmatch
が、もっと簡単な解決策があるかどうか疑問に思っていました。
のように機能する(部分関数を使用する)Option
クラスにメソッドがありますが、戻り値の型はありますか?collect
Unit
つまりmap
、collect
そのままforeach
です?
。
申し訳ありませんが、私は Scala を初めて使用しOption
ます。ドキュメントを調べて少し調べましたが、関連するものは見つかりませんでした。
を使用できることはわかっていますmatch
が、もっと簡単な解決策があるかどうか疑問に思っていました。
collect
関数が a を返す場合にのみ使用Unit
し、そうでない場合はそれを保持しないでください。
myOpt collect {
case x: Foo =>
}
リターンを破棄しても害はありません。
にはそのようなメソッドはありませんOption
。scala に からの戻り値を破棄させるだけで問題ありcollect
ませんが、本当に別のメソッド名が必要な場合は、暗黙的な変換を使用して を豊かにすることができますOption
。
implicit class OptionExt[A](opt: Option[A]) {
def forCollect(pf: PartialFunction[A, Unit]): Unit = opt.collect(pf)
}
(この関数を実際に何と呼ぶかはわかりません。)
scala> Option[Any](1).forCollect { case i: Int => println("I'm an Int") }
I'm an Int
scala> Option[Any]("1").forCollect { case i: Int => println("I'm an Int") }
scala> Option[Any](None).forCollect { case i: Int => println("I'm an Int") }