【发布时间】:2010-09-08 10:32:35
【问题描述】:
如果您正在编写一个可从命令行执行的程序,您通常希望为用户提供多个选项或标志,以及可能不止一个参数。我已经绊倒了很多次,但是是否有某种设计模式可以循环遍历 args 并调用适当的处理函数?
考虑:
myprogram -f filename -d directory -r regex
在使用语言的任何内置函数检索参数后,如何组织处理函数? (欢迎使用特定语言的答案,如果这有助于您清晰地表达答案)
【问题讨论】:
-
您编写了一个程序,要求用户输入位置或关键字和必需或可选参数。然后,您的程序需要对这些提交的参数的某些组合/排列采取行动。您是否询问设计模式来构建根据给定输入完成不同任务的功能?或者您是在询问循环和解析参数的设计模式(例如,您是在询问由解析器库(如 C 的 getopt 和 Python 的 argparse)实现的设计模式)?
标签: design-patterns command-line arguments language-agnostic