I'm so sorry if this confuses you, but I enjoy composing (superfluous) phrases like this. I hope you don't mind. :-)


On 13-05-14 19:31, 'Pascal Jasmin' via Programming wrote:
Several interesting solutions, thank you.

I understand the first 2 examples below:

   +:/ 1 2 3
|domain error

    2 */ 1 2 3
2 4 6

this is definitely less clear:
    2&*/ 1 2 3
24

I guess this comes fromhttp://www.jsoftware.com/help/dictionary/d630n.htm  
(dyad bond):
    2 (2&*) 3
12

At first I hated this form as needlessly confusing, but a fantastic feature is 
that it turns ^: into a verb, and so as you have done, can apply a modifier to 
it:

    1 1 2 (2&*)"0 ]  12 2 3
24 4 12




----- Original Message -----
From: Aai<[email protected]>
To:[email protected]
Cc:
Sent: Tuesday, May 13, 2014 5:01:04 AM
Subject: Re: [Jprogramming] ^: and boxes

     }. 2&*//.@(2&=,:]) 1 2 3 2 2 4 2 1
2 2 6 4 2 8 2 1


On 12-05-14 19:11, 'Pascal Jasmin' via Programming wrote:
I'm looking for this answer, but a better way to do it.

     > ({~"1 0 [: i.#) (<@:+:@>)^:(1 |. 2= ] &>)  ;/ 1 2 3 2 2 4 2 1
2 2 6 4 2 8 2 1

the right hand side must be boxed.  Unboxing at end, just there for display.  
Should not assume that it is possible for input.

What the above is doing is if/for a cell that is equal to 2, double the 
previous cell.

To get it to work, I've had to generate a full n x n table, and then take the 
diagonal.  Is there a better tacit way that avoids n x n table?
----------------------------------------------------------------------
For information about J forums seehttp://www.jsoftware.com/forums.htm

--
Met vriendelijke groet,
@@i = Arie Groeneveld

----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to