2011-07-04 7 views
5

Estoy escribiendo un script q que carga un db en una ruta en particular y realiza algún procesamiento en él. La ubicación de la base de datos está actualmente codificada en el script, pero quiero pasar la ruta de base de datos como argumento y hacer que se cargue desde la ruta en la variable.Pasando la ruta de acceso a db a l o .Q.l usando una variable

Actualmente se tiene el siguiente aspecto:

me di cuenta de que .Ql debe dejarnos hacer esto utilizando una variable, por lo que he intentado usar el siguiente en la secuencia de comandos,

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

Cuando ejecutándose con argumento/ruta/a/dbDir, la secuencia de comandos siempre falla con algunas cosas ilegibles y:

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

¿Podría alguien ayudarme?

Respuesta

4

.Q.l es sinónimo de \l que sólo toma un solo argumento, que no es un hsym pero un archivo o directorio nombre.

Por cierto las cosas ilegibles fue la definición de la función, seguido de un error de tipo (ya que no se espera una hsym)

3

bien, parece que funciona cuando tratamos .Ql sin la hsym así:

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

\x ... siempre es equivalente a system"x ...", que es la solución general a la "¿Cómo puedo pasar una variable a una pregunta \ comando

en su caso, desea

system"l ",.z.x 0 

(por cierto, no creo .Q.l está involucrado en \l de código, solo de datos, así que no intente usarlo para cargar archivos .q adicionales)

Cuestiones relacionadas