是否可以将多个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'
然后用cake --compilation-level ADVANCED_OPTIMIZATIONS --compilation-level SIMPLE_OPTIMIZATIONS build
如果无法做到这一点,我们将非常感谢有关实现这一目标的最佳方法的建议:)
答案 0 :(得分:2)
是的:Cake由CoffeeScript的OptionParser提供支持,它是从同名的Ruby实用程序移植而来的。如果您搜索isList
的来源,您会看到如果(并且仅当)正则表达式
OPTIONAL = /\[(\w+(\*?))\]/
与长标志名称完全匹配。简而言之:您只需在代码中添加一个字符。
option '', '--compilation-level [LEVEL*]', 'Description...'
那*
让一切变得与众不同! :)