Re: Array.deleteElement within macro language

Posted by Herbie on
URL: http://imagej.273.s1.nabble.com/Array-deleteElement-within-macro-language-tp5021937p5021943.html

Good day Kenneth!

"Please forgive me if this is obvious."

Wayne's examples show that the mechanism is always value-based-

Regards

Herbie

:::::::::::::::::::::::::::::::::::::::::::
Am 29.03.19 um 17:48 schrieb Kenneth Sloan:

> I'm not a macro language user, but I'm curious: how does Array.delete(a1,3) know that the '3' is an index and not a value?
> Please forgive me if this is obvious.
>
> (perhaps Arrays cannot hold integer values??)
>
> --
> Kenneth Sloan
> [hidden email]
> Vision is the art of seeing what is invisible to others.
>
>
>
>
>
>> On Mar 29, 2019, at 11:09, Wayne Rasband <[hidden email]> wrote:
>>
>>> On Mar 27, 2019, at 7:06 AM, Philippe CARL <[hidden email]> wrote:
>>>
>>> Dear all,
>>>
>>> Would there be an interest for having an "Array.deleteElement(array, index)"
>>> entry within the macro language methods?
>>
>> Thanks to Norbert Vischer, the ImageJ 1.52o7 daily build adds an Array.delete(array,value) macro function that can be used to delete array elements by value or by index.
>>
>> Here is an example:
>>
>>   // delete using a value
>>    a1 = Array.getSequence(10);
>>    Array.reverse(a1);
>>    without3 = Array.delete(a1, 3);
>>
>>    // delete using indexes
>>    a2 = Array.getSequence(10);
>>    a22 = Array.copy(a2);
>>    a22[5] = NaN;
>>    a22[6] = NaN;
>>    without5and6 = Array.delete(a22, NaN);
>>
>>    // delete using string value
>>    a3= newArray("one", "two", "three", "four");
>>    withoutTwo = Array.delete(a3, "two");
>>
>>    Array.show(a1, without3, a2, without5and6, a3, withoutTwo);
>>
>> -wayne
>>
>>
>>> Such deletion could be performed with the code below, but could not be too
>>> easy to figure out:
>>>
>>>                function ArrayDeleteElement(array, index)
>>>
>>>                {
>>>
>>>                               return Array.concat(Array.slice(array, 0,
>>> index - 1), Array.slice(array, index, array.length));
>>>
>>>                }
>>>
>>> My best regards,
>>>
>>> Philippe
>>
>> --
>> ImageJ mailing list: http://imagej.nih.gov/ij/list.html
>
> --
> ImageJ mailing list: http://imagej.nih.gov/ij/list.html
>

--
ImageJ mailing list: http://imagej.nih.gov/ij/list.html