Como analisar um sinalizador opcional como um valor Talvez?
Estou tentando usaroptparse-applicative para analisar umMaybe String
mas não consigo encontrar em nenhum lugar como lidarMaybe
. A única coisa que encontrei foi adicionar um valor padrão, mas eu realmente preciso de umNothing
se o usuário não forneceu uma opção em vez de""
. Existe alguma maneira de conseguir isso?
Aqui está um exemplo de código de trabalho:
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
No entanto, gostaria que os parâmetros fossem opcionais e usassemMaybe String
ao invés deString
noConfig
:
data Config = Config
{ cIn :: Maybe String
, cOut :: Maybe String
} deriving Show