tstr=: '(* ,: +)' foo=: + 1 : tstr 3 4 5 foo 7 2 4 21 8 20 10 6 9
tstr1 =: '* ,: 2&[EMAIL PROTECTED]' goo=: + 1 : tstr1 3 4 5 goo 7 2 4 21 8 20 9 4 6 ----- Original Message ----- From: "Sherlock, Ric" <[EMAIL PROTECTED]> Date: Tuesday, November 25, 2008 23:21 Subject: RE: [Jprogramming] Define tacit verb from string To: Programming forum <[email protected]> > That method seems to work for simple verb trains but not more > complicated sentences: > > tstr =: '* ,: 2&[EMAIL PROTECTED]' > 3 4 5 (;:tstr)`:6 (7 2 4) > |domain error > | 3 4 5 (;:tstr)`:6(7 2 4) > > If I rewrite as simple train: > tstr =: '* ,: 2: + ]' > 3 4 5 (;:tstr)`:6 (7 2 4) > 21 8 20 > 9 4 6 > > But that might get a bit unwieldy as the sentence gets more > complicated. Is there a more general method? > > ---Henry Rich wrote: > > tstr =: '* ,: +' > > (;:tstr)`:6 > > * ,: + > > +-+--+-+ > > |*|,:|+| > > +-+--+-+ > > 3 4 5 (;:tstr)`:6 (7 2 4) > > 21 8 20 > > 10 6 9 > > > > Henry Rich > > > ---Sherlock, Ric wrote: > > > > For some tacit sentence eg: > > > (* ,: +) > > > 3 4 5 (* ,: +) 7 2 4 > > > 21 8 20 > > > 10 6 9 > > > > > > Defined as a literal string eg: > > > tstr=: '(* ,: +)' > > > > > > How can I create a named (preferably tacit) verb? > > > The only thing I've been able to come up with is: > > > > > > texp=: 4 : 0 > > > ". 'x ',tstr,' y' > > > ) > > > 3 4 5 texp 7 2 4 > > > 21 8 20 > > > 10 6 9 > > > > > > I have an uncomfortable feeling that there is simple and > > > elegant solution but my mind is numb!! ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
