Hi Henry,

for the ANSI document on indexOfSubcollection:startingAt:,
i think that
'aaaaa' indexOfSubcollection: '' startingAt: 1 must return 1, not 0. (and if
the argument is empty the starting index must be returned)

*Message:  indexOfSubCollection: targetSequence startingAt: start
Synopsis
Answer the index of the first element of the receiver which is the start of
a subsequence which
matches targetSequence. Start searching at index start in the receiver.
Answer 0 if no such
subsequence is found.
Definition: <sequenceReadableCollection>
Each subsequence of the receiver starting at index start is checked for a
match with
targetSequence. To match, each element of a subsequence of the receiver must
be equivalent
to the corresponding element of targetSequence. Answer the index of the
first element which
begins a matching subsequence; no further subsequences are considered.
Answer 0 if no such
subsequence is found in the receiver, or if targetSequence is empty.
The elements are traversed in the order specified by the #do: message for
the receiver. *

The problem here is probably that subsequence definition is missing in the
standard. If an empty sequence is allowed as argument then I think that the
index must be the result. ¿Anybody has a formal definition of subsequence?

I don't know if the beginsWith: in SequenceableCollection must return true
to #(1 2 3) beginsWith: #(), but for String I still think that must do.

Obviously there's some part of the protocol that should remain consistent. I
will try to analyze that in deeper detail later.

Regards,
Gabriel

On Thu, Mar 4, 2010 at 11:27 AM, Henrik Johansen <
henrik.s.johan...@veloxit.no> wrote:

> Den 04.03.2010 14:40, skrev Julian Fitzell:
> > I'm not sure, but in ANSI, indexOfSubcollection:startingAt: is defined
> > as returning 0 (no match) for an empty collection.
> >
> If a string can not contain the empty string, then how can (and does) it
> start/end with it?
> IMHO, to be consistent, the set of what I contain should be a strict
> superset of what I begin/end with.
>
> In that regards, according to the ansi-standard, returning false is
> correct.
>
> Cheers,
> Henry
>
> _______________________________________________
> Pharo-project mailing list
> Pharo-project@lists.gforge.inria.fr
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>
_______________________________________________
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Reply via email to