gpt4 book ai didi

command-line-arguments - 如何将命令行参数传递给任务?

转载 作者:行者123 更新时间:2023-12-05 05:46:11 30 4
gpt4 key购买 nike

如何将命令行参数传递给灵活的任务?例如,假设我有任务

task mytask, "my task":
echo &"my task {args}"

当我运行时

nimble mytask --foo --bar

我要敏捷输出

mytask --foo --bar

或类似的东西。

最佳答案

来自敏捷 documentation (即 github 的 README.md):

Tasks support two kinds of flags: nimble <compflags> task <runflags>. Compile flags are those specified before the task name and are forwarded to the Nim compiler that runs the .nimble task. This enables setting --define:xxx values that can be checked with when defined(xxx) in the task, and other compiler flags that are applicable in Nimscript mode. Run flags are those after the task name and are available as command-line arguments to the task. They can be accessed per usual from commandLineParams: seq[string].

commandLineParamsstd/os 中可用.对于您的示例:

import std / [os, strformat]

task mytask, "my task":
echo &"my task {commandLineParams()}"

更新:

添加并运行上面的代码来设置一个新的 nimble 项目:

nimble mytask --foo --bar

你实际上会发现它打印了一个带有所有参数的 nim 序列,而不仅仅是运行时标志。例如在 Windows 上并匿名化特定文件夹名称:

my task @["e", "--hints:off", "--verbosity:0", "--colors:on", "XXX\\nimblecache-0\\test_nimble_2483249703\\test_nimble.nims", "XXY\\test_nimble\\test_nimble.nimble", "XXZ\\nimble_23136.out", "mytask", "--foo", "--bar"]

所以为了得到只有--foo--bar您需要在 mytask 之后选择参数

注意:我们可能应该修复关于此的灵活文档。

关于command-line-arguments - 如何将命令行参数传递给任务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71221025/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com