问题标签 [k]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
122 浏览

kdb - 在 k 中应用投影和一元函数

如何在 k 中正确应用一元函数和投影?

为什么 2 个第一个示例可以正常工作,而最后一个不能?我以为会是:

但这给了我一个奇怪的结果。

0 投票
1 回答
49 浏览

javascript - 如何在数组中添加消息?

我想在发送后直接将我的机器人消息添加到数组中^^

我试过这样的事情:

tasks使用定义var tasks = []

当我执行此代码时,它会正确发送消息,但不会将其保存在数组中,它是之前保存的消息。我希望你能帮帮我 :)

0 投票
5 回答
1088 浏览

kdb - 如何将符号转换为 kdb+ 中的字符串?

例如,如果我有一个符号列表,即(`A.ABC;`B.DEF;`C.GHI)or (`A;`B;`C),我如何将列表中的每个项目转换为字符串?

0 投票
1 回答
121 浏览

kdb - Amend At 和函数参数中的表达式/运算符优先级

我一直认为 inq和 ink所有表达式中的划分;是从左到右计算的,而里面的运算符优先级是从右到左的。

但后来我尝试将此原理应用于 Ament At 运算符参数。令人困惑的是,它似乎朝着相反的方向工作:

同样的优先级也适用于函数参数:

那么为什么会发生 - 为什么它首先计算最后一个参数,然后才第一个?这是我们应该避免的功能吗?

更新:评估与解析。可能还有其他情况:https ://code.kx.com/q/ref/apply/#when-e-is-not-a-function

0 投票
1 回答
74 浏览

kdb - 将副词应用于冒号运算符

请帮助我使用冒号:运算符,我不知道它是如何工作的。它作为赋值,通过赋值x+:1,全局赋值/视图::,I/O 0:1:从函数中间返回值:r,并获得一元形式的运算符#:

但是,如果将副词应用于它会发生什么?我试过这样:

我希望按顺序进行评估:x:2,然后x:3,然后x:4。结果得到x:4。但我有一个错误。并且还出于某种未知原因:'与数字一起使用。100

:'实际在做什么?

解析并没有给我带来太多启示,所以我正在寻求您的帮助。

0 投票
1 回答
73 浏览

kdb - 视图定义的前缀表示法

我认为(几乎)任何 q 函数都可以用前缀和中缀表示法互换调用。但后来我试过了:

看起来不错,但对于:

出了点问题。解析树看起来一样:

你能帮我吗,为什么视图定义的前缀符号无法定义视图?

0 投票
1 回答
99 浏览

kdb - Enum 不保存它的键,只保存键的引用

根据https://code.kx.com/q/ref/enumerate/上的文档

枚举

句法:x$y, $[x;y]

在哪里

  • x并且y是列表

我想一个正确的创建enum方法是通过将列表提供给$

但显然不是。在阅读了更多示例后,我尝试了:

它有效。但后来我看到 myenum e包含它的值,并且只引用它的键mykeys

所以保存e到文件不会保存任何密钥!在新的会话中:

我知道可以使用简洁的枚举扩展功能来保存密钥:

但是为什么枚举会这样呢?- 似乎它们几乎没有分成。可能是在一张大图中,有表、索引、张开的表更有意义。

以及从文件加载后如何存在枚举?当它的键域还不存在时,它是一种半正常状态吗?:

0 投票
1 回答
105 浏览

kdb - 在非默认(当前)命名空间中定义视图

根据如何定义视图

视图及其依赖项只能在默认命名空间中定义。

还有q一个命令\b

语法:\b [命名空间]

列出命名空间中的依赖项(视图)。默认为当前命名空间。

据此,我猜不仅可以在默认命名空间中创建视图:

但是视图是在.命名空间中创建的。

那么是否有可能以某种方式在非默认(当前)命名空间中创建视图?如果不是,为什么有 command 的参数\b [namespace]

0 投票
1 回答
106 浏览

kdb - 通过句柄读取文件

q可以创建一个文件并以一种很好的方式读回它的内容:

https://code.kx.com/q/ref/read0/表示可以用来read0file or process handle. 但由于某种原因,我无法从文件句柄中获取任何数据。之后看不到输出q)read0[h]

此外,.Q.fsn在每个步骤中,它使用 读取下一部分数据1:(s;x;n),但不是通过打开的句柄(就像在其他编程语言中一样):

那么是否可以使用这种使用1:or 0:read00::in q)的方法通过文件名(符号)从文件中读取数据,而不是通过打开句柄来读取它们。为什么不能从打开的句柄中读取?但是通过文件句柄编写是可以的。


更新: 谢谢,@CallumBiggs!

伟大的!如果没有句柄,它看起来像一个实体且对称的 api,例如:

0 投票
1 回答
84 浏览

kdb - 0D 类型和 n?0D 随机数

对 q 和 kdb+ 的简要介绍中,有几个地方可以使用类似的代码创建时间记录0D00:01

甚至使用语法的随机时间生成技术:

我发现0D仅在 q4m3 2.5.2 Time Types中提到可选。

code.kx 上是否对此语法有任何引用?还有其他有用的日期/时间随机生成器吗?我检查了大写字母, - 似乎0D是唯一的,请参阅:q)@[value;;::] each ("0",/:.Q.A)