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