"sym" 文件中的值在使用展开表时消失
The value in "sym" file disappears when using splayed tables
我正在使用以下行:
`:c:/dir/ set .Q.en[`:c:/dir; tablename]
如果我不退出 KDB 一切正常,但如果我退出然后尝试使用
加载 table
get `dir
所有符号列都是整数。非常感谢您帮助我理解为什么会发生这种情况。
.Q.en 需要 2 个 oarams - 文件句柄和 table 数据
你的第一个参数不是 hsym - 应该是反引号,然后是冒号,然后是你的数据库根目录的路径
还设置了 2 个参数 - 在这种情况下,第一个应该是您要保存的路径,如 dir/splayedTableName/
您似乎忘记在 l.h.s 上重复 table 名称。共 set
.
尝试
q)`:c:/dir/tablename/ set .Q.en[`:c:/dir; tablename]
这将在 c:/dir/tablename
子目录中正确保存 table 列,并将 sym
文件放在旁边。现在你应该能够加载你的 table 和 sym 文件,方法是使用 \l
命令或在你重新启动 q
时在命令行上指定 c:/dir
q c:/dir
或
q
q)\l c:/dir
(在这两个命令中没有反引号或前导 :
)
如果要在此 table 上使用 get
,则必须单独加载 sym
:
q)load`:c:/dir/sym
q)get`:c:/dir/tablename/
(注意路径规范中的前导 :
)
最后,您可能想看一下 rsave 命令,它将保存您的 table,而无需编写两次 tablename
。
我正在使用以下行:
`:c:/dir/ set .Q.en[`:c:/dir; tablename]
如果我不退出 KDB 一切正常,但如果我退出然后尝试使用
加载 tableget `dir
所有符号列都是整数。非常感谢您帮助我理解为什么会发生这种情况。
.Q.en 需要 2 个 oarams - 文件句柄和 table 数据
你的第一个参数不是 hsym - 应该是反引号,然后是冒号,然后是你的数据库根目录的路径
还设置了 2 个参数 - 在这种情况下,第一个应该是您要保存的路径,如 dir/splayedTableName/
您似乎忘记在 l.h.s 上重复 table 名称。共 set
.
尝试
q)`:c:/dir/tablename/ set .Q.en[`:c:/dir; tablename]
这将在 c:/dir/tablename
子目录中正确保存 table 列,并将 sym
文件放在旁边。现在你应该能够加载你的 table 和 sym 文件,方法是使用 \l
命令或在你重新启动 q
c:/dir
q c:/dir
或
q
q)\l c:/dir
(在这两个命令中没有反引号或前导 :
)
如果要在此 table 上使用 get
,则必须单独加载 sym
:
q)load`:c:/dir/sym
q)get`:c:/dir/tablename/
(注意路径规范中的前导 :
)
最后,您可能想看一下 rsave 命令,它将保存您的 table,而无需编写两次 tablename
。