kdb - 如何将十六进制颜色代码生成为字符串或符号
kdb - how generate HEX colour code as string or symbol
我想在内存中创建一个列 table 以根据人名(另一列)生成颜色 HEX 代码。快速 google 没有给出太多所以想知道是否可以在这里给出任何指示。
例如
update colour: <some code and use username col as input> from table
在 kdb+ 中,您可以通过 update
语句 运行 列上的函数,但根据函数是否矢量化,存在细微差别。如果矢量化:
update colour:{<some code>}[username] from table
update colour:someFunction[username] from table
如果未向量化,则需要像 each '
这样的迭代器
update colour:{<some code>}'[username] from table
update colour:someFunction'[username] from table
此函数将从字符串的前 3 个字符生成十六进制代码。
q)hex:{a:i-16*j:(i:`int#x)div 16;"0123456789ABCDEF"raze(j-16*j div 16),'a}
q)hex"Hello"
"48656C"
q)update colour:hex'[username] from table
我想在内存中创建一个列 table 以根据人名(另一列)生成颜色 HEX 代码。快速 google 没有给出太多所以想知道是否可以在这里给出任何指示。 例如
update colour: <some code and use username col as input> from table
在 kdb+ 中,您可以通过 update
语句 运行 列上的函数,但根据函数是否矢量化,存在细微差别。如果矢量化:
update colour:{<some code>}[username] from table
update colour:someFunction[username] from table
如果未向量化,则需要像 each '
这样的迭代器
update colour:{<some code>}'[username] from table
update colour:someFunction'[username] from table
此函数将从字符串的前 3 个字符生成十六进制代码。
q)hex:{a:i-16*j:(i:`int#x)div 16;"0123456789ABCDEF"raze(j-16*j div 16),'a}
q)hex"Hello"
"48656C"
q)update colour:hex'[username] from table