Need help with basic functional programming
    bearophile via Digitalmars-d-learn 
    digitalmars-d-learn at puremagic.com
       
    Tue Jul 22 10:09:28 PDT 2014
    
    
  
Eric:
>     while (!buf.empty())
>     {
>         p++;
>         buf.popFront();
Those () can be omitted, if you mind the noise (but you can also 
keep them).
>         if (buf.front() <= '0' || buf.front() >= '9') break;
std.ascii.isDigit helps.
>     curTok.image = cast(string) cbuffer[0 .. (p - 
> cbuffer.ptr)].dup;
If you want a string, then idup is better. Try to minimize the 
number of casts in your code.
>     auto s = buf.until("a <= '0' || a >= '9'");
Perhaps you need a ! after the until, or a !q{a <= '0' || a >= 
'9'}.
> Also, what is the fastest way to convert a range to a string?
The "text" function is the simplest.
Bye,
bearophile
    
    
More information about the Digitalmars-d-learn
mailing list