2017-01-22 5 views
-3

の文字列で取得するにはどうすればよいですか?たとえばテーブルがtbl_trade_jan17の場合、文字列変数"tbl_trade_jan17"はどのように取得できますか?私はここで何か非常に明白な何かを逃しているかもしれないのだろうか? 動機は、getまたはevalを使用したり、その名前からコールテーブルを使用したりすることではありません。 考えられるのは、テーブルの名前と同じファイル名でハードディスクにテーブルを保存することです。関連するテーブルを参照することもできます。例えばtrd_jan17は、quote_jan17テーブルおよびsym_jan17テーブルを関連付けてもよい。だから私はtbl_trade_jan17名前を得ることができます、私は文字列操作で関連付けられているテーブルの名前を取得できます。 EDITテーブルの名前をkdb +

答えて

0

アイデアは、テーブルの名前と同じファイル名を持つハードディスクにテーブルを保存することです。

tables

例えばを使用し、定義されたテーブルのリストを取得するには

tables`. //for the root name-space 

あなたはlike

例えばでフィルタリングすることができます

t:tables`. 
t:t where t like "pattern_*" 

、その後の文字列tbl` `別名バッククォートせずに私は必要明確にするsave

save each hsym t //careful 
0

使用string機能

q) string `tbl_trade_jan17 
    "tbl_trade_jan17" 
+0

で保存し、私は私はあなたが求めているものを理解していれば必ず文字列 –

+0

にシンボルを未変換する方法を知っていました - あなたは何をしようとしているのかについてもう少し詳しく述べることができますか? – MdSalih

1

:質問変え

上記の私が間違っているなら、私を修正しますが、あなたが文字列「tbl_trade_jan17」から、あなたのテーブルを呼び出すことができるようにしたいようですか? この場合、getとvalueはこの目的のために交換可能です。

q)tbl_trade_jan17:([]c:1 2 3;c2:1 2 3) 
q)type tbl_trade_jan17/tbl_trade_jan17 is a table (type 98h) 
98h 
q)/ to use the string as a variable to retrieve the table: 
q)get "tbl_trade_jan17" 
c c2 
---- 
1 1 
2 2 
3 3 
q)value "tbl_trade_jan17" 
c c2 
---- 
1 1 
2 2 
3 3 
関連する問題