问题标签 [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.
kdb - 在 k 中应用投影和一元函数
如何在 k 中正确应用一元函数和投影?
为什么 2 个第一个示例可以正常工作,而最后一个不能?我以为会是:
但这给了我一个奇怪的结果。
javascript - 如何在数组中添加消息?
我想在发送后直接将我的机器人消息添加到数组中^^
我试过这样的事情:
tasks
使用定义var tasks = []
当我执行此代码时,它会正确发送消息,但不会将其保存在数组中,它是之前保存的消息。我希望你能帮帮我 :)
kdb - 如何将符号转换为 kdb+ 中的字符串?
例如,如果我有一个符号列表,即(`A.ABC;`B.DEF;`C.GHI)
or (`A;`B;`C)
,我如何将列表中的每个项目转换为字符串?
kdb - Amend At 和函数参数中的表达式/运算符优先级
我一直认为 inq
和 ink
所有表达式中的划分;
是从左到右计算的,而里面的运算符优先级是从右到左的。
但后来我尝试将此原理应用于 Ament At 运算符参数。令人困惑的是,它似乎朝着相反的方向工作:
同样的优先级也适用于函数参数:
那么为什么会发生 - 为什么它首先计算最后一个参数,然后才第一个?这是我们应该避免的功能吗?
更新:评估与解析。可能还有其他情况:https ://code.kx.com/q/ref/apply/#when-e-is-not-a-function
kdb - 将副词应用于冒号运算符
请帮助我使用冒号:
运算符,我不知道它是如何工作的。它作为赋值,通过赋值x+:1
,全局赋值/视图::
,I/O 0:
,1:
从函数中间返回值:r
,并获得一元形式的运算符#:
。
但是,如果将副词应用于它会发生什么?我试过这样:
我希望按顺序进行评估:x:2
,然后x:3
,然后x:4
。结果得到x:4
。但我有一个错误。并且还出于某种未知原因:'
与数字一起使用。100
:'
实际在做什么?
解析并没有给我带来太多启示,所以我正在寻求您的帮助。
kdb - 视图定义的前缀表示法
我认为(几乎)任何 q 函数都可以用前缀和中缀表示法互换调用。但后来我试过了:
看起来不错,但对于:
出了点问题。解析树看起来一样:
你能帮我吗,为什么视图定义的前缀符号无法定义视图?
kdb - Enum 不保存它的键,只保存键的引用
根据https://code.kx.com/q/ref/enumerate/上的文档
枚举
句法:
x$y, $[x;y]
在哪里
x
并且y
是列表
我想一个正确的创建enum
方法是通过将列表提供给$
:
但显然不是。在阅读了更多示例后,我尝试了:
它有效。但后来我看到 myenum
e
包含它的值,并且只引用它的键mykeys
:
所以保存e
到文件不会保存任何密钥!在新的会话中:
我知道可以使用简洁的枚举扩展功能来保存密钥:
但是为什么枚举会这样呢?- 似乎它们几乎没有分成键和值。可能是在一张大图中,有表、索引、张开的表更有意义。
以及从文件加载后如何存在枚举?当它的键域还不存在时,它是一种半正常状态吗?:
kdb - 通过句柄读取文件
q
可以创建一个文件并以一种很好的方式读回它的内容:
https://code.kx.com/q/ref/read0/表示可以用来read0
从file or process handle
. 但由于某种原因,我无法从文件句柄中获取任何数据。之后看不到输出q)read0[h]
:
此外,.Q.fsn
在每个步骤中,它使用 读取下一部分数据1:(s;x;n)
,但不是通过打开的句柄(就像在其他编程语言中一样):
那么是否可以使用这种使用1:
or 0:
(read0
或0::
in q
)的方法通过文件名(符号)从文件中读取数据,而不是通过打开句柄来读取它们。为什么不能从打开的句柄中读取?但是通过文件句柄编写是可以的。
更新: 谢谢,@CallumBiggs!
伟大的!如果没有句柄,它看起来像一个实体且对称的 api,例如:
kdb - 0D 类型和 n?0D 随机数
在对 q 和 kdb+ 的简要介绍中,有几个地方可以使用类似的代码创建时间记录0D00:01
。
甚至使用语法的随机时间生成技术:
我发现0D
仅在 q4m3 2.5.2 Time Types中提到可选。
code.kx 上是否对此语法有任何引用?还有其他有用的日期/时间随机生成器吗?我检查了大写字母, - 似乎0D
是唯一的,请参阅:q)@[value;;::] each ("0",/:.Q.A)