System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及计算机领域,尤其涉及一种信息处理方法、装置、设备以及存储介质。
技术介绍
1、随着计算机技术的飞速发展,应用程序(application,app)或小程序中时常需要添加命令行代码。命令行工具(command line interface,cli)是在命令行终端中使用的工具,通过命令行工具提供命令行开发的基础库,实现命令行开发。
2、在通过命令行工具进行命令行开发时,通常是基于解析器和回调函数的模式,即解析命令行参数后,根据命令行参数的参数值调用相应的回调函数来执行相应的操作。这样当命令行程序变得复杂时,代码会变得混乱和难以维护。
3、因此目前亟需一种可以易于理解的命令行程序,使得命令行命令的执行效果更加易于理解,从而增加命令行命令的执行效果。
技术实现思路
1、本申请实施例提供了一种信息处理方法、装置、设备以及存储介质,用于提供更加易于理解和执行的命令行程序,从而提高命令行命令的执行效果。
2、有鉴于此,本申请一方面提供一种信息处理方法,包括:获取待执行命令行命令;
3、确定该待执行命令行命令对应的状态信息,该状态信息用于指示执行该待执行命令行命令时的各个状态以及各个状态下的行为操作;
4、基于该状态信息执行该待执行命令行命令。
5、本申请另一方面提供一种信息处理装置,包括:获取模块,用于获取待执行命令行命令;
6、确定模块,用于确定该待执行命令行命令对应的状态信息,该状态信息用于指示执行
7、执行模块,用于基于该状态信息执行该待执行命令行命令。
8、在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,该状态信息包括第一状态、第二状态、第三状态以及第四状态;
9、该第一状态对应的行为操作为解析命令行命令,确定命令名和命令参数;
10、该第二状态对应的行为操作为解析命令行参数,确定待执行命令参数;
11、该第三状态对应的行为操作为解析命令行选项,得到待执行命令选项;
12、该第四状态对应的行为操作为调用命令行命令的处理函数,执行命令行命令。
13、在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,该执行模块,用于在该第一状态,解析该待执行命令行命令,以得到该待执行命令行命令的命令名和命令参数;
14、将该命令名和该命令参数传入该第二状态;
15、在该第二状态,根据该命令参数和该命令名确定该待执行命令对应的对象数据;
16、将该对象数据传入该第三状态;
17、在该第三状态,解析该对象数据,得到该待执行命令对应的命令选项以及参数值;
18、将该命令选项以及参数值传入该第四状态;
19、在该第四状态,调用该待执行命令行命令的处理函数,基于该命令选项和该参数值执行该待执行命令行命令。
20、在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,该执行模块,用于将该命令参数与目标参数进行比对,得到目标命令参数,该目标参数为该待执行命令行命令调用代码中的参数;
21、将该目标命令参数和该命令名进行重新编码,以得到该对象数据。
22、在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,该执行模块,用于将该命令名编码生成该字符串数组的第一部分,并将该目标命令参数进行编码生成该字符串数组的第二部分;
23、将该第一部分与该第二部分进行组合,以得到该对象数据,其中,该第一部分位于该第二部分之前。
24、在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,该执行模块,用于解析该目标命令参数的属性;
25、根据该属性确定该目标命令参数的编码规则,该编码规则为该目标命令参数的属性为已知参数时,将该目标命令参数编码于第一位置,在该目标命令参数的属性为未知参数时,将该目标命令参数编码于第二位置;
26、按照该编码规则对该目标命令参数编码,以生成该字符串数组的第二部分。
27、在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,该处理模块,用于为该待执行命令行命令的状态设置钩子函数,该钩子函数用于对该状态的执行环境以及执行结果进行相应操作。
28、在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,该处理模块,用于在该待执行命令行命令的每一个状态的开始执行之前设置第一函数,该第一函数用于检测状态执行时的环境变量或者加载状态执行时的配置文件。
29、在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,该处理模块,用于在该待执行命令行命令的每一个状态的结束执行之后设置第二函数,该第二函数用于关闭状态执行调用的文件或者释放状态执行占用的资源。
30、在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,该处理模块,用于在该待执行命令行命令的每一个状态的执行过程中设置第三函数,该第三函数用于在状态执行失败时输出执行失败导致的错误信息。
31、在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,该处理模块,用于在该待执行命令行命令的每一个状态的执行过程中设置第四函数,该第四函数用于在状态执行失败时为状态执行提供帮助文件。
32、在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,该处理模块,用于在该待执行命令行命令的每一个状态的执行过程中设置第五函数,该第五函数用于在状态执行失败时记录日志文件。
33、本申请另一方面提供一种计算机设备,包括:存储器、处理器以及总线系统;
34、其中,存储器用于存储程序;
35、处理器用于执行存储器中的程序,处理器用于根据程序代码中的指令执行上述各方面的方法;
36、总线系统用于连接存储器以及处理器,以使存储器以及处理器进行通信。
37、本申请的另一方面提供了一种计算机可读存储介质,计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面的方法。
38、本申请的另一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各方面所提供的方法。
39、从以上技术方案可以看出,本申请实施例具有以下优点:对于命令行命令利用状态机的思想进行编写,这样可以将命令行命令的执行代码进行分段执行,从而可以更好的理解命令行命令的执行过程,进而提高命令行命令的执行效果。
本文档来自技高网...【技术保护点】
1.一种信息处理方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述状态信息包括第一状态、第二状态、第三状态以及第四状态;
3.根据权利要求2所述的方法,其特征在于,所述基于所述状态信息执行所述待执行命令行命令包括:
4.根据权利要求3所述的方法,其特征在于,所述根据所述命令参数和所述命令名确定所述待执行命令行命令对应的对象数据包括:
5.根据权利要求4所述的方法,其特征在于,所述对象数据为字符串数组,将所述目标命令参数和所述命令名进行重新编码,以得到所述对象数据包括:
6.根据权利要求5所述的方法,其特征在于,将所述目标命令参数进行编码生成所述字符串数组的第二部分包括:
7.根据权利要求1至6中任一项所述的方法,其特征在于,所述方法还包括:
8.根据权利要求7所述的方法,其特征在于,所述为所述待执行命令行命令的状态设置钩子函数包括:
9.根据权利要求7所述的方法,其特征在于,所述为所述待执行命令行命令的状态设置钩子函数包括:
10.根据权利要求7所述的
11.根据权利要求7所述的方法,其特征在于,所述为所述待执行命令行命令的状态设置钩子函数包括:
12.根据权利要求7所述的方法,其特征在于,所述为所述待执行命令行命令的状态设置钩子函数包括:
13.一种信息处理装置,其特征在于,包括:
14.一种计算机设备,其特征在于,包括:存储器、处理器以及总线系统;
15.一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行如权利要求1至12中任一项所述的方法。
...【技术特征摘要】
1.一种信息处理方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述状态信息包括第一状态、第二状态、第三状态以及第四状态;
3.根据权利要求2所述的方法,其特征在于,所述基于所述状态信息执行所述待执行命令行命令包括:
4.根据权利要求3所述的方法,其特征在于,所述根据所述命令参数和所述命令名确定所述待执行命令行命令对应的对象数据包括:
5.根据权利要求4所述的方法,其特征在于,所述对象数据为字符串数组,将所述目标命令参数和所述命令名进行重新编码,以得到所述对象数据包括:
6.根据权利要求5所述的方法,其特征在于,将所述目标命令参数进行编码生成所述字符串数组的第二部分包括:
7.根据权利要求1至6中任一项所述的方法,其特征在于,所述方法还包括:
8.根据权利要求...
【专利技术属性】
技术研发人员:张宇昂,
申请(专利权)人:腾讯科技深圳有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。