Why does this fail ?
q)g:10#();
q)@[g;1 3 5;:;(1 2)#(100;100)]
'length
[0] @[g;1 3 5;:;(1 2)#(100;100)]
And how does this succeed?
q)@[g;1 3 5;:;3#(1 2)#(100;100)]
()
100 100
()
100 100
()
100 100
()
()
()
()
Thanks,
Kumar
Why does this fail ?
q)g:10#();
q)@[g;1 3 5;:;(1 2)#(100;100)]
'length
[0] @[g;1 3 5;:;(1 2)#(100;100)]
And how does this succeed?
q)@[g;1 3 5;:;3#(1 2)#(100;100)]
()
100 100
()
100 100
()
100 100
()
()
()
()
Thanks,
Kumar
Hi,
It’s failing because the shape of (1 2)#(100;100) does not conform with the shape of your specified indices 1,3,5
The second example works because the operand has a count of 3 as does your list of indices.
Only when the operand is an atom is it extended to match the list of indices..
e.g.
q)@[g;1 2 3;:;100]
()
100
100
100
()
()
()
()
()
()
whereas the following will fail
q)@[g;1 2 3;:;enlist 100]
'length
[0] @[g;1 2 3;:;enlist 100]
^
Regards,
Jason
Ok, I was missing the part about atom operands and extension. Thanks, Jason.
Kumar