Ah k. Yep. don't do it that way. On Sat, May 9, 2015 at 5:08 PM, Mike Bonner <bonnm...@gmail.com> wrote:
> Number 4 is cool actually, but I wonder if there are reasons NOT to do it > the way I'm doing it. > > Basically, I sort the lines of the list, descending, as text rather than > numeric, then replace cr with empty. > > function genLargest pList > sort lines of pList descending > replace cr with empty in pList > return pList > end genLargest > > > On Sat, May 9, 2015 at 4:33 PM, Mike Bonner <bonnm...@gmail.com> wrote: > >> What is the recursion limit? I decided to do a speed test on larger >> lists, and strangely, if I have a list that is 704 lines (I used lines >> rather than items) things work fine. As soon as I hit 705, I get the >> following: >> >> executing at 4:30:55 PM >> Type Function: error in function handler >> Object Button >> Line return (line 1 of pList + withRecurse( line 2 to -1 of pList)) >> Hint withRecurse >> >> dropping back to 704, (no changes to my script) and viola' it works >> again. >> Needless to say, if I'm hitting a recursion limit, a better error message >> would be nice. This is using 6.6.2. >> >> On Sat, May 9, 2015 at 3:55 PM, Geoff Canyon <gcan...@gmail.com> wrote: >> >>> Problem 1 >>> >>> Write three functions that compute the sum of the numbers in a given list >>> using a for-loop, a while-loop, and recursion. >>> >>> Note that he doesn't provide any test cases, so for each problem I >>> provided >>> my own in a field, and then called the functions for each line in the >>> test >>> field, putting the output in another field. On to the functions: >>> >>> function sumFunction X >>> -- just because I could, not part of the original requirements >>> return sum(X) >>> end sumFunction >>> >>> function sumFor X >>> repeat for each item i in X >>> add i to R >>> end repeat >>> return R >>> end sumFor >>> >>> function sumWhile X >>> repeat while X is not empty >>> add item 1 of X to R >>> delete item 1 of X >>> end repeat >>> return R >>> end sumWhile >>> >>> function sumRecurse X >>> if the number of items of X <= 1 >>> then return X >>> else return item 1 of X + sumRecurse(item 2 to -1 of X) >>> end sumRecurse >>> >>> Test data (first line was blank on purpose): >>> >>> 5 >>> 2,3,5,6,2,3,1 >>> -4,4 >>> -4,4,-5,5 >>> >>> Test output (not entirely happy about the disparity in results for empty >>> input): >>> 0 >>> 5 5 5 5 >>> 22 22 22 22 >>> 0 0 0 0 >>> 0 0 0 0 >>> _______________________________________________ >>> use-livecode mailing list >>> use-livecode@lists.runrev.com >>> Please visit this url to subscribe, unsubscribe and manage your >>> subscription preferences: >>> http://lists.runrev.com/mailman/listinfo/use-livecode >>> >> >> > _______________________________________________ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode