System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及数据处理,特别涉及一种枚举值导出方法、装置、电子设备、存储介质。
技术介绍
1、目前,在基于c++语言的程序开发过程中,通常会在枚举类型中定义大量的枚举值,再将枚举值以字符串的形式导出为导出列表,将导出列表输入至lua进行后续应用。
2、在枚举类型定义枚举值时,通常会在每个枚举值中添加相关的描述信息,而导出至lua的字符串需要对应枚举值的含义。在相关技术中,通常会为每个枚举类型设置一个字符串映射,在字符串映射中手动配置每个枚举值对应的导出字符串。然而,每个枚举类型的枚举值数量较多,手动配置字符串映射需要耗费大量的工作时间,开发效率较低,还可能导致导出字符串填写错误,影响lua的正常运行。
技术实现思路
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、基于全部的所述映射对生成所述枚举值映射表,将所述枚举值映射表导出至lua。
26、第二方面,本专利技术实施例提供了一种枚举值导出方法,应用于人机交互设备,所述枚举值导出方法包括:
27、获取用户输入至目标导出宏的目标枚举类型,其中,所述目标枚举类型包括枚举值集合,所述枚举值集合包括至少一个目标枚举值;
28、响应于用户触发的导出操作,获取导出的枚举值映射表,其中,所述枚举值映射表包括每个所述目标枚举值和对应的目标字符串。
29、可选地,在所述响应于用户触发的导出操作之后,所述方法还包括:
30、从所述目标枚举值中识别出含义描述字段,将所述含义描述字段转换为目标字符串,其中,所述含义描述字段用于指示所述目标枚举值的枚举含义;
31、基于全部的所述目标字符串和所述目标枚举值的关联关系,生成并导出所述目标枚举类型对应的枚举值映射表。
32、第三方面,本专利技术实施例提供了一种枚举值导出装置,包括:
33、枚举值获取模块,被配置为获取目标枚举类型的枚举值集合,其中,所述枚举值集合包括至少一个目标枚举值;
34、转换模块,被配置为从所述目标枚举值中识别出含义描述字段,将所述含义描述字段转换为目标字符串,其中,所述含义描述字段用于指示所述目标枚举值的枚举含义;
35、导出模块,被配置为基于全部的所述目标字符串和所述目标枚举值的关联关系,生成并导出所述目标枚举类型对应的枚举值映射表。
36、在一实施例中,所述目标枚举值依次包括类型描述字段和所述含义描述字段,所述类型描述字段用于指示所述目标枚举类型,转换模块被进一步配置为:
37、规则获取模块,被配置为基于所述目标枚举类型所对应的枚举命名规则,从所述目标枚举值定位出所述目标枚举类型的首字符,其中,所述枚举命名规则用于指示所述类型描述字段和所述含义描述字段的顺序以及字符的大小写分布,所述目标枚举类型所对应的全部所述目标枚举值均满足所述枚举命名规则;
38、字段确定模块,被配置为基于所述目标枚举类型的首字符从所述目标枚举值中确定所述含义描述字段。
39、在一实施例中,所述含义描述字段包括至少一个含义描述分段,所述含义描述分段的首字符与末字符的大小写类型不同,所述含义描述字段的首字符为首个所述含义描述分段的首字符,转换模块被进一步配置为:
40、直接转换模块,被配置为当所述含义描述字段包括一个所述含义描述分段,基于所述含义描述字段转换出所述目标字符串;
41、分段转换模块,被配置为当所述含义描述字段包括至少二个本文档来自技高网...
【技术保护点】
1.一种枚举值导出方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述目标枚举值依次包括类型描述字段和所述含义描述字段,所述类型描述字段用于指示所述目标枚举类型,所述从所述目标枚举值中识别出含义描述字段,包括:
3.根据权利要求2所述的方法,其特征在于,所述含义描述字段包括至少一个含义描述分段,所述含义描述分段的首字符与末字符的大小写类型不同,所述含义描述字段的首字符为首个所述含义描述分段的首字符,所述将所述含义描述字段转换为目标字符串,包括:
4.根据权利要求3所述的方法,其特征在于,所述将所述含义描述字段转换为目标字符串,包括:
5.根据权利要求2所述的方法,其特征在于,在所述获取目标枚举类型的枚举值集合之前,所述方法还包括:
6.根据权利要求1所述的方法,其特征在于,所述获取目标枚举类型的枚举值集合,包括:
7.根据权利要求1所述的方法,其特征在于,所述基于全部的所述目标字符串和所述目标枚举值的关联关系,生成并导出所述目标枚举类型对应的枚举值映射表,包括:
8.一种枚举值
9.根据权利要求8所述的方法,其特征在于,在所述响应于用户触发的导出操作之后,所述方法还包括:
10.一种枚举值导出装置,其特征在于,包括:
11.一种电子设备,其特征在于,包括至少一个控制处理器和用于与所述至少一个控制处理器通信连接的存储器;所述存储器存储有可被所述至少一个控制处理器执行的指令,所述指令被所述至少一个控制处理器执行,以使所述至少一个控制处理器能够执行如权利要求1至7任一项所述的枚举值导出方法,或者,执行如权利要求8至9任一项所述的枚举值导出方法。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如权利要求1至7任一项所述的枚举值导出方法,或者,执行如权利要求8至9任一项所述的枚举值导出方法。
...【技术特征摘要】
1.一种枚举值导出方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述目标枚举值依次包括类型描述字段和所述含义描述字段,所述类型描述字段用于指示所述目标枚举类型,所述从所述目标枚举值中识别出含义描述字段,包括:
3.根据权利要求2所述的方法,其特征在于,所述含义描述字段包括至少一个含义描述分段,所述含义描述分段的首字符与末字符的大小写类型不同,所述含义描述字段的首字符为首个所述含义描述分段的首字符,所述将所述含义描述字段转换为目标字符串,包括:
4.根据权利要求3所述的方法,其特征在于,所述将所述含义描述字段转换为目标字符串,包括:
5.根据权利要求2所述的方法,其特征在于,在所述获取目标枚举类型的枚举值集合之前,所述方法还包括:
6.根据权利要求1所述的方法,其特征在于,所述获取目标枚举类型的枚举值集合,包括:
7.根据权利要求1所述的方法,其特征在于,所述基于全部的所述目标字符串和所述目标枚举值...
【专利技术属性】
技术研发人员:叶森,梁波,倪秀秀,施润丰,陆易,
申请(专利权)人:珠海金山数字网络科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。