Maybe String
を解析するためにoptparse-applicativeを使用しようとしていますが、Maybe
の処理方法はわかりません。私が見つけた唯一の事はデフォルト値を追加することですが、ユーザーが""
の代わりにオプションを指定しなかった場合、実際にはNothing
が必要です。これを達成する方法はありますか?ここでoptparse-applicativeと解析する方法
は動作するコードの例です:
import Options.Applicative
data Config = Config
{ cIn :: String
, cOut :: String
} deriving Show
configParser :: Parser Config
configParser = Config
<$> strOption (long "in" <> short 'i')
<*> strOption (long "out" <> short 'o')
main :: IO()
main = do
conf <- execParser (info configParser fullDesc)
print conf
しかし、私は、パラメータが任意でかつConfig
に代わりString
のMaybe String
を使用したい:
data Config = Config
{ cIn :: Maybe String
, cOut :: Maybe String
} deriving Show
私は 'optparse-applicative'もよく分かりませんが、[このページ](https://hackage.haskell.org/package/optparse-applicative-0.11.0.2)では、'オプションの 'コンビネータ'strOption'の上にあなたが望むことをする必要があります。 – Jubobs
ページの下部に追加の文書がありませんでした。これは機能しています。あなたはそれを回答として掲示して、それを受け入れることができますか? – mb14