cancel
Showing results for 
Search instead for 
Did you mean: 

Why do we use sel[x] here in u.q, could we not have just used x?

Mannix
New Contributor III
New Contributor III

sel:{$[`~y;x;select from x where sym in y]} / from u.q

My understanding is that sel returns x unless you enter a y?

If this is the case, could we not have used "x" instead of "sel[x]" in pub?

pub
:{[t;x]{[t;x;w]if[count x:sel[x]w 1;(neg first w)(`upd;t;x)]}[t;x]each w t}

1 ACCEPTED SOLUTION

pmallon
New Contributor III
New Contributor III

Hi,

The sel[x]w 1 , call is the same as sel[x;w 1].  So, y =w 1, which will be a list of symbols or ` if no filtering on syms is to be applied. 
Then within sel function, filtering is applied if y is not equal to `  with the select from x where sym in y.

Omitting sel from the pub function would remove this functionality to subscribe to a subset of syms.

Let me know if this helps or not.

Patrick

View solution in original post

1 REPLY 1

pmallon
New Contributor III
New Contributor III

Hi,

The sel[x]w 1 , call is the same as sel[x;w 1].  So, y =w 1, which will be a list of symbols or ` if no filtering on syms is to be applied. 
Then within sel function, filtering is applied if y is not equal to `  with the select from x where sym in y.

Omitting sel from the pub function would remove this functionality to subscribe to a subset of syms.

Let me know if this helps or not.

Patrick