配置语法
首先我们需要来定义一下我们的配置语法。前面讲到,数据是由行和列组成,每一列中有若干字段,每一个字段有自己的数据类型,有自己的前缀,字段和字段之间还有分隔符。我们最终的配置语法格式如下:
清单一:example.ini
[field1]
datatype="list, range=[10-20]"
prefix="int_"
postfix=" "
[field2]
datatype="list, range=[A-Z, a-z]"
prefix="char_"
postfix=" "
[field3]
prefix=""
datatype="list, range=[abc,123,xyz, 100-110]"
postfix=" "
[field4]
prefix=""
datatype="list, range=[100-200:2]"
postfix=" "
我们来解释一下语法的格式:
1. 字段名使用[]引起来。后面使用 key=value 的形式来定义这个字段的属性。
2. 字段有三个基本的属性:datatype 指定字段的取值范围,prefix 设定字段的前缀,postfix 则设定字段的后缀。
3. datatype 中最基本的数据类型就是 list,一个无所不包的列表。你所需要指定的就是这个字段的取值范围参数 range。
4. range 参数可以采用 1-10 这样的区间表达,也可以用逗号“ , ”来连接多个区间或者元素。区间还可以指定递增的步长。
上面的 example.ini 文件中定义了四个字段,字段和字段之间使用两个空格分隔,第一个字段的取值范围为 10-20,前缀为 int_,第二个字段取值范围是大小写英文字母,前缀为 char_,第三个字段取值范围是混合的,第四个字段则从 100 到 200,递增步长为 2 。
清单二:生成的数据
int_10 char_A abc 100
int_11 char_B 123 102
int_12 char_C xyz 104
int_13 char_D 100 106
int_14 char_E 101 108
int_15 char_F 102 110
int_16 char_G 103 112
int_17 char_H 104 114
int_18 char_I 105 116
int_19 char_J 106 118