[Nickle] substr("",0,0) ?
Bart Massey
bart at cs.pdx.edu
Thu Apr 15 23:46:53 PDT 2004
Ok, you've just invoked
substr("", 0, 0)
or in general
substr(s, length(s), 0)
Nickle raises an illegal_argument exception because the
index is off the end.
Should it? I contend no, because it makes writing string
algorithms without special cases harder. But I can see the
argument. Should it matter if the index is "just" off the
end, or should you be able to extract 0 characters from
anyplace? I claim only just off the end, because that's the
only thing that makes any sense.
I guess my general intuition is that substring(s,m,n) should
be equivalent to
chars->string(head(tail(string->chars(s), length(s) - m), n))
If that is the case, then the natural meaning of the
functions suggests that I am right above.
Discussion? Or shall I call it a bug and fix it?
Bart
More information about the Nickle
mailing list