如何创建函数以重复一个列表中的向量n次?

时间:2018-09-17 20:19:41

标签: kdb

我有以下向量:

 v:(1,-1)

我想创建一个函数,该函数在列表中重复此向量n次:

f[v,3] results in ((1 -1);(1 -1);(1 -1))

有人可以帮我定义此功能吗?

2 个答案:

答案 0 :(得分:2)

例如,您可以使用# take函数

q)f:{y#enlist x}

q)f[v;3]
1 -1
1 -1
1 -1

也可以在不征募载体的情况下完成操作,例如

q)3 2#v
1 -1
1 -1
1 -1

或更笼统地说:

q)f:{(y;count x)#x}
q)f[v;3]
1 -1
1 -1
1 -1

答案 1 :(得分:-1)

如果不想创建新功能,可以执行以下操作:

q)#[3;enlist v]
1 -1
1 -1
1 -1