2
A
답변
2
value
2는 항상 전역 범위에서 작동합니다.
정말 필요한 경우 작업 영역 변수를 사용하십시오. .a.b:1
... 작동하는 경우 q 인스턴스를 테스트하지 않아도되지만 거의 확신합니다.
0
'값'대신 다른 기능을 사용할 수 있습니다. 하나의 옵션은 'eval'함수입니다.
q)a:2;
q) func:{ a:1; eval a}
q) func[]
q) 1
이와 같이 value (또는 eval)를 사용할 필요가 없습니다. 그것을하는 더 좋거나 더 청결한 방법이있을 것입니다. 보다 포괄적 인 실제 예제가 도움이 될 것입니다. – terrylynch
새로운 열을 테이블로 업데이트하는 함수 목록을 사용하는 함수가 있습니다. 더 깔끔한 방법은 기능적인 업데이트와 함께하는 것이지만,이 추악한 구문에 대한 대안을 찾는 동안이 문제를 보았습니다. – nightTrevors
어떤 사람들은 매우 못생긴 구문이 아름답다고 말합니다. 그러나 때로는 기능적인 형식이 필요하고, 평가할 문자열로 된 코드 라인을 생성하는 것보다 논란의 여지는 있지만 추한 것입니다. 사용자에게 친숙한 가독성을 유지하면서 기능 양식을 사용하는 한 가지 방법은 Aaron Davies의 "반 기능적"양식과 비슷한 것을 사용하는 것입니다. http://www.q-ist.com/2012/10/functional-query-functions.html 및 http://www.q-ist.com/2013/03/my-kdb-user-meeting-presentation을 참조하십시오. .html – terrylynch