Q语言 - 维护函数



.Q.en

.Q.en 是一个二元函数,它通过枚举符号列来帮助展开表格。当我们处理历史数据库(展开的、分区的表格等)时,它特别有用。−

.Q.en[`:directory;table]

其中目录是历史数据库的主目录,其中包含符号文件,而表格是要枚举的表格。

不需要手动枚举表格就能将它们保存为展开的表格,因为这将由 − 完成

.Q.en[`:directory_where_symbol_file_stored]table_name

.Q.dpft

.Q.dpft 函数有助于创建分区和分段表格。它是.Q.en 的高级形式,因为它不仅展开表格,还创建分区表。

.Q.dpft 使用四个参数 −

  • 我们要创建分区的数据库的符号文件句柄;

  • 我们将用于对表格进行分区q 数据值;

  • 将应用 parted (`p#) 属性的字段名称(通常为 `sym);以及

  • 表格名称。

让我们来看一个例子,看看它是如何工作的 −

q)tab:([]sym:5?`msft`hsbc`samsung`ibm;time:5?(09:30:30);price:5?30.25)

q).Q.dpft[`:c:/q/;2014.08.24;`sym;`tab]
`tab

q)delete tab from `
'type

q)delete tab from `/
'type

q)delete tab from .
'type

q)delete tab from `.
`.

q)tab
'tab

我们已从内存中删除了表格tab。现在让我们从数据库中加载它。

q)\l c:/q/2014.08.24/

q)\a
,`tab

q)tab

   sym      time      price
-------------------------------
  hsbc    07:38:13   15.64201
  hsbc    07:21:05   5.387037
  msft    06:16:58   11.88076
  msft    08:09:26   12.30159
 samsung  04:57:56   15.60838

.Q.chk

.Q.chk 是一个单元函数,其单个参数是根目录的符号文件句柄。通过检查根目录中的每个分区子目录,它在必要时创建分区中的空表。

.Q.chk `:directory

其中目录是历史数据库的主目录。

广告