【问题标题】:KDB+/Q : How does the following code work ? q) 16 16#"c"$til 256`KDB+/Q:下面的代码是如何工作的? q) 16 16#"c"$til 256`
【发布时间】:2020-12-30 09:56:29
【问题描述】:

下面的代码在kdb+/q中是如何工作的,具体来说,第一个16是做什么的?

q)16 16#"c"$til 256

til 256 创建一个列表 0 .. 255,"c"$ 将每个条目转换为类型 char16# 采用前 16 个元素,但第一个 16 做什么?

我在文档中的任何地方都看不到这一点,尽管这是此处引用的示例:https://code.kx.com/q4m3/4_Operators/#433-order

【问题讨论】:

    标签: kdb


    【解决方案1】:

    # 运算符将从列表或字典中选择前导或尾随项目

    x#y     #[x;y]
    

    其中 x 是一个 int 原子或向量,或一个表; y 是原子、列表、字典、表或键控表

    在您的情况下,x 是一个向量并返回一个矩阵或更高维数组,例如

    q)2 4#`Arthur`Steve`Dennis
    Arthur Steve  Dennis Arthur
    Steve  Dennis Arthur Steve**
    

    通过拆分您的示例,您可以看到从数组返回的第一行和最后一行

    q)16#"c"$til 256
    "\000\001\002\003\004\005\006\007\010\t\n\013\014\r\016\017"
    q)-16#"c"$til 256
    "\360\361\362\363\364\365\366\367\370\371\372\373\374\375\376\377"
    

    更多信息 https://code.kx.com/q/ref/take/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多