2017-10-16 4 views
0

q에서 이진 지퍼 연산은 '으로 수행됩니다. 나는.q - 압축하면서 임의의 함수 적용

l1:("a1";"a2") 
l2:("b1";"b2") 
(l1,'l2)~("a1b1";"a2b2") 

I 예컨대 g 모나드는 기능리스트 상에 일부 이항 함수 투영하는 이항 연산자 '[g;l2]으로이 ' 파싱 g:,[l1;].

따라서 지퍼 작업 중에 , 이외의 다른지도를 수행하려는 경우 g을 다시 정의합니다.

그러나, '[g;l2] 나에게 예상 목록 출력을 제공하지만 func

반환하지 않습니다 질문 : 어떻게이 압축하는 작업 중 임의의 맵을 적용합니까? 예 : 어떻게하면 l1 f' l2 같은 것을 할 수 있습니까? 예를 들어 f:,이지만, 일반적으로 f 일대일 연산자를 사용하면 항목을 나열 할 수 있습니까? 도움

답변

1

에 대한

덕분에 내가 어떻게 압축하는 작업 중 임의의 맵을 적용합니까? 이처럼

: 당신이 중위 표기법을 좋아하는 경우에

q)f:{x+y} 
q)f'[10*x;x:til 5] 
0 11 22 33 44 

, 당신은 또한 '[g;l1]composition 것을

q)(10*x) f' til 5 
0 11 22 33 44 

참고 할 수 있습니다. 영사를 만들려면

q)g:,'[l1;] 
q)g l2 
"a1b1" 
"a2b2"