commandlineparser / commandlineparser/commandline

Question - can f# matching handle verbs?

Abierto
#774 1 comentario 0 reacciones 0 asignados Ver en GitHub
Lenguaje dominante
C#
Estrellas
4.8k
Forks
478
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

Sorry for question as issue, googled a bit and had no luck.

Is the F# matching support meant to work with verbs? I'm trying

```fs
[]
type UploadOptions = {
[] FileName: string;
[] RootUrl: string;
}

[]
type OtherOptions = {
[] Opt: string;
}

let getOpts argv : CLIOptions =
let result = CommandLine.Parser.Default.ParseArguments(argv)
match result with
| :? Parsed as p -> p.Value // <-- compile error here
| :? Parsed as p -> p.Value
| :? NotParsed as e ->
let errs = e.Errors |> Seq.map string |> Seq.toList
failwith <| String.Join("\n", errs)
| _ -> failwith "bang"
```

But this fails to compile:
```
Type constraint mismatch. The type
'Parsed'
is not compatible with type
'ParserResult'
```

I don't have a good understanding of how C# types map to F# sorry, so apologies if I'm missing something obvious.

EDIT: Never mind, found the readme. Consider this a feature request to not need to double match against `obj`. :)

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.