如何修改从kdb二进制文件读取的列表所有元素并存储到新变量
KDB/Q 修改Symbol列表所有元素为指定值的实现方法
假设你已经通过c:get :/opt/test/groups;获取到了symbol列表,以下是两种简洁的方法将所有元素修改为test并存储到c1`中:
方法一:基于列表长度重复生成
c1: count[c] # `test
逻辑:count[c]获取原列表c的元素数量,#操作符会将右侧的test symbol重复对应次数,生成一个与原列表长度一致、所有元素均为test的新列表,最后赋值给c1。
方法二:利用类型转换批量替换
c1: `test $ c
逻辑:$操作符在这里做批量值替换,当目标指定为单个symbol时,原列表中的所有元素都会被替换为这个指定的symbol,写法更简洁。
示例验证
如果原c的值为:dev :prod :staging,执行上述任意一种方法后,c1的结果都会是:test :test :test。
内容的提问来源于stack exchange,提问作者MD500000
相关产品推荐
相关产品推荐

