gpt4 book ai didi

kdb - 获取当前文件在 q (kdb) 中的位置

转载 作者:行者123 更新时间:2023-12-04 19:07:46 24 4
gpt4 key购买 nike

有没有办法以与 Python 的 __file__ 类似的方式在 q 中获取当前运行文件的位置.

最佳答案

http://code.kx.com/q/ref/dotz/#zf-file

您可以使用 .z.f为此,它包含在命令行上加载的文件的名称。不适用于加载了 \l 的文件尽管

jonny@grizzly ~ $ echo 'show .z.f' > a.q
jonny@grizzly ~ $ q a.q
KDB+ 3.5 2017.10.11 Copyright (C) 1993-2017 Kx Systems
l32/ 2()core 1945MB jonny grizzly 127.0.1.1 NONEXPIRE

`a.q
q)\\
jonny@grizzly ~ $ q
KDB+ 3.5 2017.10.11 Copyright (C) 1993-2017 Kx Systems
l32/ 2()core 1945MB jonny grizzly 127.0.1.1 NONEXPIRE

q)\l a.q
`
q)\\

如果您需要使用 \l 查找脚本中加载的函数的位置您可以从 value .z.s 获取此信息在 kdb 的最新版本中:
jonny@grizzly ~ $ echo 'b:{show value[.z.s]8}' > b.q
jonny@grizzly ~ $ echo 'c:{show value[.z.s]8}' > c.q
jonny@grizzly ~ $ q
KDB+ 3.5 2017.10.11 Copyright (C) 1993-2017 Kx Systems
l32/ 2()core 1945MB jonny grizzly 127.0.1.1 NONEXPIRE

q)\l b.q
q)\l c.q
q)b[]
"/home/jonny/b.q"
q)c[]
"/home/jonny/c.q"

请注意,此行为在旧版本的 kdb 中有所不同。作为引用,可以从 value .z.s 获得更多信息。 :
jonny@grizzly ~ $ echo 'd:{show value[.z.s]}' > d.q
jonny@grizzly ~ $ q
KDB+ 3.5 2017.10.11 Copyright (C) 1993-2017 Kx Systems
l32/ 2()core 1945MB jonny grizzly 127.0.1.1 NONEXPIRE

q)\l d.q
q)d[]
0x7733a0520002
,`x
`symbol$()
,`
k){1 .Q.s x;}
12 6 1 1
"..d"
"/home/jonny/d.q"
1
"{show value[.z.s]}"

http://code.kx.com/q/ref/metadata/#value更多细节

关于kdb - 获取当前文件在 q (kdb) 中的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50053816/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com