簡體   English   中英

用於解析嵌套命令行參數的 F# 庫

[英]F# library to parse nested command line arguments

我有一個應用程序正在運行具有指定參數的任務。 它一次運行 1 個任務。

type MagicOptions = {
  Param1: string
  Param2: string
}

type NoMagicOptions = {
  Param3: string
  Param4: string
}

app.exe -task magic -param1 val -param2 val
app.exe -task no-magic -param3 val -param4 val

or it can be:
app.exe magic -param1 val -param2 val
app.exe no-magic -param3 val -param4 val

每當用戶指定任務類型時,都需要解析由 Magic/NoMagic 類型描述的精確參數。

我已經嘗試過Argu並希望使用DU ,但它不受支持。

有現成的解決方案嗎?

我認為Argu 3.0中的子命令實際上正是您所要求的。

該示例(來自文檔,已刪除幫助)定義了一個git命令,該命令可用作git cleangit commit並為這兩個代表提供不同的選項。 選擇由 DU 表示:

[<CliPrefix(CliPrefix.Dash)>]
type CleanArgs =
    | D
    | F
    | X

and CommitArgs =
    | Amend
    | [<AltCommandLine("-p")>] Patch
    | [<AltCommandLine("-m")>] Message of msg:string

and GitArgs =
    | Version
    | [<AltCommandLine("-v")>] Verbose
    | [<CliPrefix(CliPrefix.None)>] Clean of ParseResults<CleanArgs>
    | [<CliPrefix(CliPrefix.None)>] Commit of ParseResults<CommitArgs>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM