2011-07-04 32 views
5

我正在写一个q脚本,它将db加载到特定路径中并对其执行一些处理。数据库的位置目前是硬编码在脚本中,但我想通过数据库路径作为参数,并从变量中的路径加载它。使用变量将db路径传递给 l或.Q.l

目前,它看起来像这样:

我想通了,.Ql应该让我们做到这一点使用一个变量,所以我尝试使用脚本以下,

dbPath:`$.z.x 0 
.Q.l hsym dbPath   #Fails 

当以参数/ path/to/dbDir运行,脚本始终以一些不可读的内容失败,并且:

':/path/to/dbDir: No such file or directory 

有人可以帮忙吗?

回答

4

.Q.l\l只接受一个参数,这是不是一个hsym而是一个文件或目录的代名词名称。

顺便提及不可读东西是函数定义,接着是类型的错误(因为它没有料到的hsym)

3

好吧,这似乎工作,当我们尝试.Ql没有hsym这样的:

dbPath:`$.z.x 0 
.Q.l dbPath 
4

\x ...总是相当于system"x ...",这是对“我如何通过的通解一个变量在你的情况下,\命令问题

,你想

system"l ",.z.x 0 

(顺便说一句,我不认为.Q.l参与\l的代码,只有数据,所以不要尝试使用它来加载额外的.q文件)