Sort IP List

Bob Sneidar bobsneidar at iotecdigital.com
Fri Jun 29 12:03:20 EDT 2018


First, your function returns a single line of numbers. With 30,000 lines of input, yours takes 9 ticks, mine 8. 

Bob S


> On Jun 29, 2018, at 08:37 , Mike Bonner via use-livecode <use-livecode at lists.runrev.com> wrote:
> 
> I don't know what speed differences there might be, but another option is
> something like this..
> 
> function ipfunc pIp
>   set the itemdel to "."
>   set the numberformat to "###" -- force length of each chunk to 3
> 
> -- append the numbers together sans "." with padded 0's using numberformat
>   repeat for each item tItem in pIp
>         put tItem +0 after tIp -- do the add to force the numberformat to
> work
>   end repeat
>   return tIp
> end ipfunc
> 
> And then use it like so..
> sort lines of myIpList ascending numeric by ipfunc(each)
> 
> 
> On Fri, Jun 29, 2018 at 9:14 AM Bob Sneidar via use-livecode <
> use-livecode at lists.runrev.com> wrote:
> 
>> Hi all.
>> 
>> I somehow got on to how to sort IP addresses, seeing they are not real
>> numbers, and read in the dictionary that the sort command is a "stable
>> sort". This occured to me:
>> 
>> function sortIPList pIPList
>>   set the itemdelimiter to "."
>>   sort lines of pIPList numeric by item 4 of each
>>   sort lines of pIPList numeric by item 3 of each
>>   sort lines of pIPList numeric by item 2 of each
>>   sort lines of pIPList numeric by item 1 of each
>>   return pIPList
>> end sortIPList
>> 
>> Enjoy!
>> 
>> Bob S
>> 
>> 
>> _______________________________________________
>> use-livecode mailing list
>> use-livecode at 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 at lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode





More information about the Use-livecode mailing list