优化函数以将字符串的每个字符转换为QKDB中的符号

优化函数以将字符串的每个字符转换为QKDB中的符号,kdb,Kdb,我必须编写一个函数,该函数以整数作为输入参数,并按字母顺序返回这些符号的列表 例如,如果函数的输入是4,那么输出应该是abcd。 如果输入是27,那么输出可以是a-z,然后重复a 我提出的解决方案是: q)f:{(`$(x;0N)#x#.Q.a)} q)f 4 `a`b`c`d q)f 5 `a`b`c`d`e 有人能给我推荐一个更好的/优化的解决方案吗? 另外,有没有更好的方法将字符串转换为符号列表,而不是 {(`$(x;0N)#x#.Q.a)} 你可以试试下面的一个: {`$/:x#.Q

我必须编写一个函数,该函数以整数作为输入参数,并按字母顺序返回这些符号的列表

例如,如果函数的输入是4,那么输出应该是
a
b
c
d。 如果输入是27,那么输出可以是a-z,然后重复a

我提出的解决方案是:

q)f:{(`$(x;0N)#x#.Q.a)}
q)f 4
`a`b`c`d
q)f 5
`a`b`c`d`e
有人能给我推荐一个更好的/优化的解决方案吗?
另外,有没有更好的方法将字符串转换为符号列表,而不是

{(`$(x;0N)#x#.Q.a)}
你可以试试下面的一个:

{`$/:x#.Q.a}

在右边的每个元素上都应用了符号转换。

我认为下面应该是您想要的:

q) {`$'x#.Q.a}5
`a`b`c`d`e

如果计划将此函数用于整数列表/向量,则此准向量化方法应比每个函数更快:

q){x#\:`$'.Q.a}5 1 10 28
`a`b`c`d`e
,`a
`a`b`c`d`e`f`g`h`i`j
`a`b`c`d`e`f`g`h`i`j`k`l`m`n`o`p`q`r`s`t`u`v`w`x`y`z`a`b