Skip to content

4.5 生成器

ferventdesert edited this page May 6, 2018 · 3 revisions

1. 生成器的定义

顾名思义,生成器就是通过一定的参数,生成一个文档列表的组件。生成器通常位于任务开头,可从文本,文件,数据库读取数据。 或者从一个区间内生成纵向的数字和时间。

它与转换器有很多相似之处,但是明显不同:

  • 转换器必须有输入,而生成器不需要。生成器一般需要输出列,来保存其输出的数据。
  • 生成器输出的数据可以与原始数据进行横向,纵向,交叉拼接,这远比转换器灵活
  • 生成器的参数都支持方括号语法,但转换器只有部分支持

2. 几种合并方法

当生成器生成数据后,如何与原始的数据组合呢?有四种模式:

  • Merge:横向合并
  • Append:纵向拼接
  • Cross:笛卡尔集
  • Mix:依次交叉,如121212..

生成器的四种模式

Cross模式下的生成器,非常接近List模式下的转换器,仔细琢磨一下,是不是这样?

3. 常用的生成器

所有关于文件,数据库读操作的模块,都可以在5.数据库和文件读写中找到。下面介绍其他模块:

  • 生成区间数:生成一个范围内的整数序列,需要传入最小值,最大值和步进,这些参数都可以通过方括号表达式从其他列传入。

  • 生成随机数: 如用在随机延时等方面

  • 从文本生成: 从输入的文本,可以生成一行一条数据的内容。

给大家出个题,如何实现从文本文件读入,但是一行对应Hawk的一个文档呢? 答案是,先通过读取文件文本,将文本内容放置到一个列A中,再配置从文本生成,将其Format填写为[A],即可实现。 由此我们可以看出Hawk的灵活!