首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >处理用户命令和参数

处理用户命令和参数
EN

Software Engineering用户
提问于 2019-11-04 20:32:45
回答 2查看 117关注 0票数 2

我正在编写一个GUI应用程序,它需要用户通过命令行界面与系统交互和执行任务的工具。

用户将在文本框中键入命令,格式如下:

代码语言:javascript
复制
[Command-name] [Param-name] [Value]

可以在命令名之后写入任意数量的Param名称和值。

一个使用实例:

代码语言:javascript
复制
New_Customer NAME John AGE 34 

上面的命令将调用适当的方法,例如,将一个新客户添加到数据库中。

另一个例子是:

代码语言:javascript
复制
PLAY FILM Harry_Potter VOLUME 50 FPS 24

实现这一点的显而易见且相对简单的方法是解析用户输入,使用空格作为分隔符,然后使用一系列ifs和else来处理命令。

对于上面这样的基本命令,这种方法可能已经足够好了,但是随着命令的语法和语义变得更加复杂,我担心所有这些ifs和else都会变得笨重和难以管理。

有没有一种设计模式或常用的方法,我可能会觉得有用吗?

EN

回答 2

Software Engineering用户

发布于 2019-11-05 10:34:03

答案是编写一个解析器。有一些工具可以支持您完成这项任务。

维基百科有大量的解析器生成器,选择一个适合您的。

就我个人而言,我对安特尔有很好的经验。

使用解析器生成器的优点是,您对语法有了适当的定义,以后可以很容易地进行扩展。

缺点是,你必须在一开始就学习一些东西。

票数 1
EN

Software Engineering用户

发布于 2019-11-05 17:07:48

总之,Lua

Lua被设计成易于嵌入到另一个应用程序中。lua语言相当简单,可以扩展到提供应用程序特定的接口。

票数 0
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/400562

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档