[Issue 4165] New: std.conv.to!int doesn't ignore whitespace
    d-bugmail at puremagic.com 
    d-bugmail at puremagic.com
       
    Sun May  9 05:20:47 PDT 2010
    
    
  
http://d.puremagic.com/issues/show_bug.cgi?id=4165
           Summary: std.conv.to!int doesn't ignore whitespace
           Product: D
           Version: future
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Phobos
        AssignedTo: nobody at puremagic.com
        ReportedBy: bearophile_hugs at eml.cc
--- Comment #0 from bearophile_hugs at eml.cc 2010-05-09 05:20:45 PDT ---
Too much flexibility in a language and its libs causes several problems, but
the opposite too makes the language and its use fussy. So there is a right
intermediate point of balance to be found.
The conversion from string to numbers performed by std.conv.to is excessively
rigid.
In Python this conversion works:
>>> int(" 0123\n")
123
In D v.2.043 the same produces an error:
import std.conv: to;
void main() {
    int x = to!int(" 0123\n");
}
std.conv.ConvError: Can't convert value ` 0123
' of type const(char)[] to type int
Can std.conv.to be modified to ignore whitespace?
In particular the ending newline is very common, for example every time I want
to convert a line from a text file to a number I have to use something like
this:
to!int(readln().chomp());
Instead of a simpler:
to!int(readln());
-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
    
    
More information about the Digitalmars-d-bugs
mailing list