Combinators: map
match
はOption
を扱うのに適したメソッドです。しかし、大量にこれを使用しているとじきに億劫になってくるでしょう。引数の値が有効である(訳注: この場合はNone
でない)必要がある関数を扱う際には特にそうです。
そうした場合には、コンビネータを使うと、処理の流れをモジュール化されたやり方で管理できます。
Some -> Some
あるいはNone -> None
の単純な操作を適用する必要がある場合には、Option
はmap()
というビルトインのメソッドを提供していますので、これを使用しましょう。
map()
のフレキシビリティは、複数のmap()
をチェインしなければならない場合にさらに際立ちます。
以下の例では、process()
が直前の関数全てを用いた場合と同じ機能を、よりコンパクトに果たしているのがわかります。