Ranges
spir
denis.spir at gmail.com
Sun Mar 13 05:06:39 PDT 2011
On 03/13/2011 01:05 AM, Jonathan M Davis wrote:
> If you were to try and iterate over a char[] by char, then you would be looking
> at code units rather than code points which is _rarely_ what you want. If you're
> dealing with anything other than pure ASCII, you _will_ have bugs if you do
> that. You're supposed to use dchar with foreach and character arrays. That way,
> each value you process is a valid character. Ranges do the same, only you don't
> give them an iteration type, so they're _always_ iterating over dchar.
Side-note: you can be sure the source is pure ASCII if, and only if, it is
mechanically produced. (As soon as an end-user touches it, it may hold
anything, since OSes and apps offer users means to introduces characters which
are not on their keyboards).
This can also easily be checked in utf-8 (which has been designed for that):
all ASCII chars are coded using the same code as in ASCII, thus all codes
should be < 128.
Denis
--
_________________
vita es estrany
spir.wikidot.com
More information about the Digitalmars-d-learn
mailing list