在 ArgParse.jl 中,可以使用 @add_arg_command()
宏和 arg_compose()
函数来实现“computed default value”。
function my_default_value()
# do some computation here to get the default value
return 42
end
arg_compose()
以及 $()
符号来将默认值计算函数与参数组合在一起,例如:@add_arg_command("mycommand"; a = arg_compose(Int, default = $(my_default_value())))
以上代码中,arg_compose()
函数将整数类型 Int
和默认值计算函数 my_default_value()
组合在一起,并作为参数 a
的默认值。
args = parse_args(["mycommand"])
println(args.a) # 打印默认值 42
注意,$()
符号在 @add_arg_command()
宏中必须使用,以便能够正确地计算默认值。
完整示例代码如下:
using ArgParse
function my_default_value()
# do some computation here to get the default value
return 42
end
@add_arg_command("mycommand"; a = arg_compose(Int, default = $(my_default_value())))
args = parse_args(["mycommand"])
println(args.a) # 打印默认值 42