[Jprogramming] Cut (;.) behavior consistency
Henry Rich
henryhrich at gmail.com
Tue Jan 1 21:18:57 UTC 2019
If you think of ;.n as being 4 different adverbs based on n, you can use
the appropriate names for each. NuVoc uses 'Subarray' for dyadic u;.0 .
Henry Rich
On 1/1/2019 3:40 PM, Devon McCormick wrote:
> If I wanted to have "cut" without overtake, I'd be happier, upon
> encountering the code later, if I had written a well-named helper verb -
> maybe even documented it - rather than spend the time trying to puzzle out
> what I had earlier intended with a non-obvious use of "cut".
>
> On Tue, Jan 1, 2019, 14:54 'Pascal Jasmin' via Programming <
> programming at jsoftware.com wrote:
>
>> seems better than what I've been doing,
>>
>> take
>> (*@[ * |@[ <. #@:]) {. ]
>>
>>
>>
>> $ 2 take i.0
>> 0
>>
>> take =: ];.0 :: (i.@(0"_) )
>>
>> $ 2 take i.0
>>
>> 0
>>
>>
>> it loses negative indexing though, so
>>
>> take =: (];.0)`(];.0)`(] {.~ _1: * |@[ <. #@:])@.(*@[)^:(0 < #@])
>>
>> _7 take i.6
>> 0 1 2 3 4 5
>> _3 take i.6
>> 3 4 5
>>
>> _3 take i.0
>>
>>
>> 3 take i.2 2
>> 0 1
>> 2 3
>>
>>
>> ________________________________
>> From: Igor Zhuravlov <zhuravlov.ip at ya.ru>
>> To: Jprogramming <programming at jsoftware.com>
>> Sent: Saturday, December 29, 2018 9:02 PM
>> Subject: [Jprogramming] Cut (;.) behavior consistency
>>
>>
>>
>> A Cut (;.) is a convenient alternative to Take ({.) when there is a need
>> to ignore overtake:
>>
>>
>> 4 {. i. 3
>>
>> 0 1 2 0
>>
>> 4 ];.0 i. 3
>>
>> 0 1 2
>>
>>
>> But is Cut's behavior consistent?:
>>
>>
>> 2 ];.0 i. 2
>>
>> 0 1 NB. ok
>>
>> 2 ];.0 i. 1
>>
>> 0 NB. ok
>>
>> 2 ];.0 i. 0
>>
>> |index error
>>
>> | 2 ];.0 i.0
>>
>>
>> Shouldn't result be an empty list instead of error? However, the following
>> works:
>>
>>
>> 0 ];.0 i. 0
>>
>> NB. empty list, ok
>>
>>
>> --
>>
>> Regards,
>>
>> Igor
>>
>> ----------------------------------------------------------------------
>>
>> 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
---
This email has been checked for viruses by AVG.
https://www.avg.com
More information about the Programming
mailing list