This is an idiom - I don't remember where I first saw it:
B=. 1=2|X0=. 999+ X1=. i.10 B,X0,:X1 1 0 1 0 1 0 1 0 1 0 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 0 1 2 3 4 5 6 7 8 9 B}X0,:X1 0 1000 2 1002 4 1004 6 1006 8 1008 On 10/24/06, Leigh J. Halliwell <[EMAIL PROTECTED]> wrote:
Thank you, Roger and Cliff. On my first question I was indeed thinking of the monadic amend. And Cliff's use of it for my second question is nice, too. But I'd still like to know how to make the identity/left operator work one-to one, as per my second question: "2) X0 and X1 are numeric vectors, and B is a Boolean vector. They all have the same length. I'd like to select from X0 where B is 0, and from X1 where B is 1. I try the expression: X1 [^:B X0. But the adverb ^:B wants to get two-dimensional, i.e., to apply each B to every pair of X1 and X2. How can I make J to apply the adverb one-to-one with the arguments?" Sincerely, Leigh ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
-- Devon McCormick ^me^ at acm. org is my preferred e-mail ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
