You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将K语言字典的值分配到当前作用域?求优雅实现方法

K语言字典变量提取的优雅实现方式

假设已有K语言字典:

x:(`a`b`c)!(1 2 3)

替代逐个提取的写法 a:xa; b:xb; c:xc`,可以用以下两类优雅实现:

一、解构赋值形式

  • 按值的顺序直接解构到目标变量:
    (a;b;c):value x
    
    等价简化写法:字典后加[]可直接返回值列表,因此也能写成:
    (a;b;c):x[]
    
  • 若变量名与字典键名完全匹配,可通过键名列表批量赋值:
    `a`b`c set value x
    

二、函数式形式

  • 遍历字典的键值对完成批量赋值:
    {[k;v] @[.;k;:;v]} each' flip x
    
    这里flip x将字典转换为键列表与值列表组成的元组,each'(并行遍历)会逐个取对应键值对,再通过@函数修改当前命名空间,把值绑定到对应变量上。
  • 更简洁的遍历键列表实现:
    { @[.;x;:;x`x] } each key x
    
    或者用运算符组合的紧凑写法:
    @[.;;:;x@] each key x
    

内容的提问来源于stack exchange,提问作者cjm2671

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 23:57:47