一些进阶语法
list 的运用
| | | | |
##var | id | name | childrens' name | # |
##type | int | string | (list#sep=,),string | balabala |
| 1 | Mike | A,B,C | |
| 2 | Any | | |
## | balabala | | | |
- 同样是这份数据,可以发现主要的奥秘在
##type
一行当中。childrens' name的type由两部分组成: list,type;前者用于表明这是个列表,后者表明该列表的元素类型。type可以是int,string,也可以是后文将要讲到的自定义类型。 - (list#sep=,),该修饰符sep= '@'中的@主要用于表明,每个元素之间用什么隔开。如上文示例
,
。当然,如果该类型是自定义类型,则最好使用|
,后续也会提及。
使用自定义类型
- 对于自定义的数据类型,难免变量也会是自定义的。这样只用int和string将会满足不了我们。所以我们需要到
_beans_.xlsx
文件夹下去自定义我们的类。我们先将MyData.xlsx
稍作修改。
| | | | |
##var | id | name | childrens' name | # |
##type | int | string | (list#sep=|),children | balabala |
| 1 | Mike | A,11|B,10|C,20 | |
| 2 | Any | | |
## | balabala | | | |
- 可以看到,我们将list的value类型改成了children自定义类型。为了让luban明白这个类型,我们需要打开
_beans_.xlsx
文件。 - 对于children类,我们姑且作如下设计
| class children{
string m_name;
int age;
}
|
创建自定义类型
- 由于我们的类是一个独立的类,并不继承自任何类,所以我们只需要将full_name下添加数据
children
(我们刚在数据里使用的名字,千万别打错了)。 - 在sep栏里,我们填入
,
。如(list#sep=,)一样,这里是选择该类的元素应该用什么隔开。 - 最重要的是右边的
*field
栏。这里的name
和type
就类似我们在MyData.xlsx
当中写的##var
和##type
,只不过这里的数据应当竖着填写。
| | | | |
name | type | group | comment | tags |
m_name | string | | | |
age | int | | | |
| | | | |
结果
最后这就是我们的结果啦。完结撒花。如果需要更深入的了解,还是得多看看官方文档。对于enum的文件我们还尚未使用。也许后面会更新该博客。
| [
{
"id": 1,
"name": "Mike",
"childrens'name": [
{
"m_name": "A",
"age": 11
},
{
"m_name": "B",
"age": 10
},
{
"m_name": "C",
"age": 20
}
]
},
{
"id": 2,
"name": "Any",
"childrens'name": []
}
]
|