如何使用功能修改将 p# 添加到 table?

How to add p# to a table using functional amend?

我有一个查询,returns 一组符号的数据来自 table 的日期。

dataFromTab:delete date from select from table where date=2015.01.01,any (sym like) each ("sym1";"sym2";"sym3";"sym4")
dataFromTab:`sym xasc dataFromTab;
@[`dataFromTab;`sym;`p#];

type var 是 98h 并且按 sym 排序工作正常但是当使用功能修改添加 p# 时给我一个“类型错误”。

任何关于我哪里出错的意见都将不胜感激。

谢谢!

sym是字符串列吗?如果我转换为字符串,我会收到该错误:

q)trades:update string sym from trades
q)trades:`sym xasc trades
q)@[`trades;`sym;`p#]
'type
  [0]  @[`trades;`sym;`p#]
       ^

你能试着把它转换成一个符号,看看是否可行吗?

您是从函数内还是从全局命名空间调用所有这些?

如果 dataFromTab 是局部变量,则应用 p# to the global referencedataFromTab 将不起作用。

q){data:select from tab;@[`data;`sym;`p#]}[]
'type
 [1]  {data:select from tab;@[`data;`sym;`p#]}
                         ^
q))\

您需要在本地重新分配 dataFromTab 才能正常工作;

q){data:select from tab;data:@[data;`sym;`p#]}[]

您还可以使用 'set' 全局创建 table,这将使您的原始语法生效。但是,您可能不想创建不必要的全局变量;

q){`data set select from tab;@[`data;`sym;`p#]}[]
`data