Is it possible to use a reverse direction for offset

François chaplais.francois at orange.fr
Thu Mar 23 12:29:56 EDT 2023


An example of when a backwards search would be useful is the following:

In the app, you have to find command environments. Environments are delimited by an opening string and a closing string.

Usually, I search forward for the opening string, then search for the closing string afterwards. Once this occurrence is processed, the app goes on with a forward search.

Now another problem: I want to see in which environment a text position is in, i.e. finding the enclosing opening and closing strings.

Looking for the closing string is a no brainer. Looking for the opening string is no more difficult if I can do a backwards search.

However, if I can only search forward, I must start the search at the beginning of the text to scan all the occurrences of the opening string that stand before the text position (if any). The complexity of this approach is not the same as in the case where a backwards search is available.

François

> Le 23 mars 2023 à 16:48, Craig Newman via use-livecode <use-livecode at lists.runrev.com> a écrit :
> 
> Francois.
> 
> I am sure you know what you have and what you need.
> 
> But just for my curiosity, if I had to do what you want, I would have used the “offset” function and its “charsToSkip” parameter to find all instances of the text to find, and then use those values in sequence to work backwards. But then how do you know when to stop?
> 
> Craig
> 
>> On Mar 23, 2023, at 11:30 AM, François via use-livecode <use-livecode at lists.runrev.com> wrote:
>> 
>> The text source is not very big.
>> 
>> However I implement transcoding from one language to another and I do an VERY large amount of search and replace.
>> 
>> I think I have quite optimized my LC code but transcoding can take 5 minutes to do, and I need the whole process to chase unexpected bugs. This is using the forward search (offset) most of the time.
>> 
>> Using a standalone app takes the time down to 4 minutes, which is not a sufficient gain for my usage.
>> 
>> François
>> 
>>> Le 23 mars 2023 à 16:21, Craig Newman via use-livecode <use-livecode at lists.runrev.com> a écrit :
>>> 
>>> Francois.
>>> 
>>> Who wouldn’t?
>>> 
>>> But unless you are working with VERY large datasets, I bet a handler would process quickly.
>>> 
>>> Craig
>>> 
>>>> On Mar 23, 2023, at 10:58 AM, François via use-livecode <use-livecode at lists.runrev.com> wrote:
>>>> 
>>>> @Ben
>>>> 
>>>> Too bad…
>>>> 
>>>> @ Craig
>>>> 
>>>> I would rather have an optimized version, I do a lot of text processing in my app.
>>>> 
>>>> Thanks to both of you!
>>>> François
>>>> 
>>>>> Le 23 mars 2023 à 14:43, Craig Newman via use-livecode <use-livecode at lists.runrev.com> a écrit :
>>>>> 
>>>>> @Ben.
>>>>> 
>>>>> 20 years! Congratulations!.
>>>>> 
>>>>> @Francois
>>>>> 
>>>>> This can be scripted easily. Do you need help with that?
>>>>> 
>>>>> Craig
>>>>> 
>>>>>> On Mar 23, 2023, at 8:21 AM, Ben Rubinstein via use-livecode <use-livecode at lists.runrev.com> wrote:
>>>>>> 
>>>>>> https://quality.livecode.com/show_bug.cgi?id=584 (20th anniversary this September!)
>>>>>> 
>>>>>> Also
>>>>>> https://quality.livecode.com/show_bug.cgi?id=8353
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> On 23/03/2023 11:35, François via use-livecode wrote:
>>>>>>> I would like to search for a string within another string, starting at a given position, but backward.
>>>>>>> In some languages, you can achieve that by providing a negative number for the initial position of the search.
>>>>>>> Is this possible in LiveCode?
>>>>>>> TIA
>>>>>>> François
>>>>>>> _______________________________________________
>>>>>>> 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
>>>>> 
>>>>> 
>>>>> _______________________________________________
>>>>> 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
>>> 
>>> 
>>> _______________________________________________
>>> 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
> 
> 
> _______________________________________________
> 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