How do you use templates in D?
Jonathan M Davis
jmdavisProg at gmx.com
Tue Oct 18 14:56:33 PDT 2011
On Tuesday, October 18, 2011 12:32 Ali Çehreli wrote:
> On Tue, 18 Oct 2011 13:56:09 -0400, Andrew Pennebaker wrote:
> > I'm writing a function called genArray that accepts a function gen and
> > returns a random array populated by calling gen(). genString builds on
> > this by returning genArray(&genChar). But my type signatures are wrong.
> >
> > In dashcheck.d:
> >
> > char genChar() {
> >
> > return cast(char) uniform(0, 128);
>
> It's a good thing that you are staying within ASCII. Otherwise there
> might be invalid UTF-8 sequences. :)
Yeah. It's generally a very bad sign when code uses char or wchar outside of
arrays. They're UTF-8 and UTF-16 code units respectively and are not
necessarily full code points (and therefore are not necessarily full
characters). That's particularly true of char, since anything outside of ASCII
is not going to work. Code which operates on individual characters really
should be operating on dchars, not chars or wchars.
- Jonathan M Davis
More information about the Digitalmars-d
mailing list