2011-07-04 5 views
5

특정 경로에 db를로드하고 일부 처리를 수행하는 q 스크립트를 작성하고 있습니다. db의 위치는 현재 스크립트에서 하드 코드되어 있지만 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 

누군가 제발 도와 줄래? 우리는이 같은 hsym없이 .Ql을하려고 할 때

답변

4

.Q.l 만 hsym하지만, 파일이나 디렉토리가 아닌 하나의 인자를 취 \l와 동의어이다 이름. 은 "어떻게 통과 할 수있는 일반적인 해결책

3

이 좋아, 그것을 작동하는 것 같다 :

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

\x ...system"x ..." 항상 동등하다 (그것이 hsym 기대되지 않은 바와 같이)

또한 판독 불가능 재료는 타입 에러 다음 함수 정의했다 귀하의 경우에 \ 명령 질문

에 변수, 당신은 (BTW, 내가에 참여 .Q.l 생각하지 않습니다

system"l ",.z.x 0 

을 원하는 코드, 데이터 만 사용하므로 추가 .q 파일을로드하는 데 사용하지 마십시오.