【发布时间】:2019-08-03 01:54:40
【问题描述】:
我对@987654321@ 的功能有疑问。我将argparse 用于自定义函数,这很棒,但有时我想将argparse 和补充代码的使用转移到一个单独的函数中,并在那里使用它来减少样板/视觉噪音。
这是我想做的部分示例:
function A
set --local options ... # some definition.
argparse_wrapper --name A $options -- $argv; or return 1
end
而不是
function A
set --local options ... # some definition.
argparse --name A $options -- $argv; or return 1
# Code validating flags set by argparse in some way that argparse is unable to do,
# i.e. validation that requires values from two flags (so f/flag!script would not
# work).
#
# Or, changing flag names to names more appropriate inside the function.
#
# Other boilerplate related to options, but
# unrelated to the purpose of the function.
#
end
但是,我无法在函数内部设置值并将这些值无缝传输给调用者。如,argparse 在外部范围内设置值(调用argparse 的函数),但我无法对我自己的自定义argparse 包装器执行相同操作。至少,如果有干净的方法,我不确定该怎么做。特别是,argparse 可以在其外部范围内设置局部变量,我想将该功能保留在假定的 argparse 包装器中。这可能吗?
【问题讨论】:
标签: shell environment-variables fish