[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: Re: Lua Suggestion: return nil in string.find/match() for indexes that are before the string
- From: Coroutines <coroutines@...>
- Date: Sun, 2 Mar 2014 10:56:39 -0800
On Sun, Mar 2, 2014 at 12:18 AM, Dirk Laurie <dirk.laurie@gmail.com> wrote:
> 2014-03-02 9:06 GMT+02:00 Coroutines <coroutines@gmail.com>:
>
>> This does not:
>>
>>> = string.find('cat', 'cat', -31, true)
>> 1 3
>
>> I expect it to match the string at the index I passed to it, not
>> silently reposition the start at a valid index (1).
>
> All the string functions do that. It is documented under string.sub.
>
> | If, after the translation of negative indices, i is less than 1, it
> is corrected to 1.
>
Yes :-) I believe it makes sense for string.sub(), as you would want
the valid portion of the string from (let's say) -31 to 5. This would
be readjusted to only "sub out" indexes 1 through 5. I do not believe
it makes sense for string.find()/string.match() -- as false-positives
are possible when I tell it to match somewhere clearly before the
string (in a place it doesn't exist).