Hey Tony,

Yeah that’s what I eventually realized so I changed what happens when I
reach zero. I was just wanting to understand the inner workings better.

On Mon, Jun 28, 2021 at 7:34 AM TW Tones <[email protected]> wrote:

> Another way to look at it ;
> Butlast purpose discard the last N input title(s)
>
> So saying  "discard the last 0 input titles" is non sensical
> If you actually want to discard 3, then 2 then 1 perhaps you filter needs
> find another way once it reaches 0
>
> Tones
> On Monday, 28 June 2021 at 13:07:37 UTC+10 History Buff wrote:
>
>> Thanks Eric,
>>
>> I appreciate that. I looked at it, but I really don’t know JavaScript.
>> Makes me want to learn though.
>>
>>
>>
>> On Sun, Jun 27, 2021 at 12:07 PM Eric Shulman <[email protected]> wrote:
>>
>>> On Sunday, June 27, 2021 at 11:28:50 AM UTC-7 History Buff wrote:
>>>
>>>> I don't understand why a 0 in the butlast operator would yield no
>>>> results
>>>>
>>>
>>> The butlast[] operator is defined in this shadow tiddler:
>>> https://tiddlywiki.com/#%24%3A%2Fcore%2Fmodules%2Ffilters%2Flistops.js
>>>
>>> Here's the javascript code from that tiddler:
>>> exports.butlast = function(source,operator,options) {
>>> var count = $tw.utils.getInt(operator.operand,1),
>>> results = [];
>>> source(function(tiddler,title) {
>>> results.push(title);
>>> });
>>> return results.slice(0,-count);
>>> };
>>>
>>> The first line gets the operand value, defaulting to 1.
>>> The next 4 lines copy the entire list of items into a results array
>>> The last line uses the javascript slice() function to remove items from
>>> the results array and then return that array
>>>
>>> Here's the documentation for the javascript slice() function:
>>>
>>> https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/slice
>>>
>>> Note the description of the "end" parameter:
>>> Zero-based index before which to end extraction. slice extracts up to *but
>>> not including* end.
>>>
>>> Thus, when you used butlast[0], the filter code invokes slice(0,-0),
>>> i.e., "*starting from the first item up to but not including the first
>>> item*"
>>> which results in *no items* being returned.
>>>
>>> enjoy,
>>> -e
>>>
>> --
>>> You received this message because you are subscribed to a topic in the
>>> Google Groups "TiddlyWiki" group.
>>> To unsubscribe from this topic, visit
>>> https://groups.google.com/d/topic/tiddlywiki/lROJc--2xFI/unsubscribe.
>>> To unsubscribe from this group and all its topics, send an email to
>>> [email protected].
>>> To view this discussion on the web visit
>>> https://groups.google.com/d/msgid/tiddlywiki/c1f40a73-746d-4c39-89b9-6786c9caee0fn%40googlegroups.com
>>> <https://groups.google.com/d/msgid/tiddlywiki/c1f40a73-746d-4c39-89b9-6786c9caee0fn%40googlegroups.com?utm_medium=email&utm_source=footer>
>>> .
>>>
>> --
> You received this message because you are subscribed to a topic in the
> Google Groups "TiddlyWiki" group.
> To unsubscribe from this topic, visit
> https://groups.google.com/d/topic/tiddlywiki/lROJc--2xFI/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to
> [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/tiddlywiki/faaa280d-a866-47d3-abef-5ec8e51e5d5dn%40googlegroups.com
> <https://groups.google.com/d/msgid/tiddlywiki/faaa280d-a866-47d3-abef-5ec8e51e5d5dn%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>

-- 
You received this message because you are subscribed to the Google Groups 
"TiddlyWiki" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywiki/CAD1WRcbRkWRSjCp3Wi6Zjpq_q8Y8ZoVGU%2BoQ9DW%3D_9Fa%2Bjq%3D4w%40mail.gmail.com.

Reply via email to