its equivalent to 1 2 3 < 2 2 2

1 2 3,:2 2 2

creates 2 items (each item a list)



----- Original Message -----
From: Erling Hellenäs <[email protected]>
To: [email protected]
Cc: 
Sent: Monday, July 7, 2014 2:05:03 PM
Subject: Re: [Jprogramming] Tacit J and indexed replacement

This one beats me. </ is a gerund that modifies y?

</1 2 3,:2 2 2

1 0 0

1 0 0}1 2 3,:2 2 2

2 2 3


I couldn't understand that from reading the manual.

I guess it's a joke.

/Erling

On 2014-07-07 15:09, R.E. Boss wrote:
> look at 'Item Amend':
>
>     </} 1 2 3,:2 2 2
> 2 2 3
>
>
> R.E. Boss
>
> (Add your info to http://www.jsoftware.com/jwiki/Community/Demographics )
>
>
>
>> -----Original Message-----
>> From: [email protected] [mailto:programming-
>> [email protected]] On Behalf Of Raul Miller
>> Sent: maandag 7 juli 2014 12:33
>> To: [email protected]
>> Subject: Re: [Jprogramming] Tacit J and indexed replacement
>>
>> Another approach for this is:
>>     (x*-.q)+y*q
>>
>> Sadly, that only works when x and y are numeric. Boxes and literals do
>> not have zero and 1 values (hypothetically "fill" could be zero, but
>> "1" is harder to rationalize.)
>>
>> A variant which uses amend might be:
>>     (q#y) (I.q)} x
>>
>> This only works when x and y are rank 1, but you could also use
>> something like this for higher ranked arrays:
>>     ($q)$ (q#&,y) (I.,q)} ,x
>>
>> (I hope I didn't make too many mistakes this time. I'm running without
>> any corrective support.)
>>
>> Thanks,
>>
>> --
>> Raul
>>
>> On 7/7/14, Erling Hellenäs <[email protected]> wrote:
>>> Hi all !
>>>
>>> About the problem I want to solve.
>>>
>>> Generally you compare some arrays and you want to replace part of one of
>>> them with info from the other or from some other array of the same
>>> dimensions?
>>>
>>> I found a solution not using Amend:
>>>
>>> NB. x and y are arrays of the same rank
>>>
>>> NB. q is a boolean, also of this rank
>>>
>>> NB. The expression merges x and y.
>>>
>>> NB. Where q is TRUE it picks from y, otherwise x
>>>
>>> NB. q {"0 1 x,"0 y
>>>
>>> 1 2 3(< {"0 1 [ ,"0 ])2 2 2
>>> 2 2 3
>>>
>>>
>>> A similar solution using Amend. I'm sure it can be improved, just I
>>> didn't do it yet. I didn't try it for the general case.
>>>
>>>
>>> NB. Amend
>>>
>>> NB. x (v0`v1`v2)} y ↔ (x v0 y) (x v1 y)} (x v2 y)
>>>
>>> 1 2 3(> # [)`(> # [: i. [: $ ])`(])}2 2 2
>>> 2 2 3
>>>
>>>
>>> I think what makes Amend tricky is that you(as Ric says) need three
>>> inputs. To get them into the tacit expression you have to put two of
>>> them together in one noun.
>>>
>>>
>>> There are probably other solutions using sort.
>>>
>>>
>>> Trying the same expression with a version of Raul's Amend:
>>>
>>> amende=: (0 {:: [)`(1 {:: [)`]}
>>>
>>> 1 2 3((> (# ; [: (# i.&$) [ ) [) amende ])2 2 2
>>>
>>> 2 2 3
>>>
>>>
>>> Some bug causes Thunderbird to reformat my mails. Hope you get them
>> right.
>>> I'm looking for something more general than this :)
>>>
>>> 1 2 3 >. 2 2 2
>>>
>>> 2 2 3
>>>
>>>
>>> /Erling
>>>
>>> On 2014-07-07 05:58, Raul Miller wrote:
>>>> Since it'w nagging at me (and this is still unteted code :/), here's
>>>> what I currently think i should have said:
>>>>      amend=: (0:{::])`(1:{::])`(2:{::])}~
>>>>
>>>> The trailing ~ because I need the dyad from the resulting verb, and
>>>> the trailing ] on each because those verbs need to ignore one of the
>>>> resulting arguments.
>>>>
>>>> Sadly, my fingers (and "quick memory") keep forgetting this.
>>>>
>>>> Thanks,
>>>>
>>> ----------------------------------------------------------------------
>>> For information about J forums see
>> http://www.jsoftware.com/forums.htm



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

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

Reply via email to