如何将参数传递给函数 (Q/KDB+)?

How to pass arguments to a function (Q/KDB+)?

假设我有一个函数:

quotes:{[ticker;x;y]
output: ....
}

如何使用此函数在另一个函数中迭代列表:

combiner:{[tickerList;x;y]
output: uj quotes[ticker1;x;y], quotes[ticker2;x;y], etc.
}

您可以将 uj 与超过 / 结合使用:

uj/[list of tables]

在你的情况下,这可能看起来像:

uj/[quotes[;x;y]each tickerList]

如果引号函数总是输出具有相同架构的表,您可以使用 raze 代替:

raze quotes[;x;y]each tickerList

razeuj 都是连接函数和 , 的实现,但是 raze 要求所有表的架构相同。