是否可以将多个cmdline args传递给Cakefile并在数组中捕获这些值?例如这样的事情:
option '', '--compilation-level [LEVEL]', 'Description...'
task "build", "compile js", (options)->
compilationLevels = options['compilation-level'] || ['DEFAULT']
if compilationLevels.length >= 2
console.log 'multiple compiles'
else
console.log 'just one compile'
然后运行它w / cake – 编译级别ADVANCED_OPTIMIZATIONS – 编译级别SIMPLE_OPTIMIZATIONS构建
如果这是不可能的,那么关于实现这一目标的最佳方式的建议将非常感谢:)
最佳答案 是的:Cake由CoffeeScript的
OptionParser提供支持,它是从同名的Ruby实用程序移植而来的.如果在源代码中搜索isList,您将看到如果(并且仅当)正则表达式,可以多次使用选项来创建数组
OPTIONAL = /\[(\w+(\*?))\]/
完全匹配长标志名称.简而言之:您只需在代码中添加一个字符即可.
option '', '--compilation-level [LEVEL*]', 'Description...'
*会有所不同! 🙂