std.json parsing real numbers.

Tofu Ninja emmons0 at purdue.edu
Thu Aug 8 12:04:54 PDT 2013


On Thursday, 8 August 2013 at 18:46:17 UTC, Borislav Kosharov 
wrote:
> On Thursday, 8 August 2013 at 16:05:56 UTC, Nick Sabalausky 
> wrote:
>> On Thu, 08 Aug 2013 17:20:16 +0200
>> "Borislav Kosharov" <bosak at gmail.com> wrote:
>>
>>> On Thursday, 8 August 2013 at 10:13:51 UTC, khurshid wrote:
>>> > On Thursday, 8 August 2013 at 10:11:07 UTC, MrSmith wrote:
>>> >> On Thursday, 8 August 2013 at 08:04:49 UTC, khurshid wrote:
>>> >>>
>>> >>> I just check  std.json for parsing real numbers.
>>> >>>
>>> >>> import std.json;
>>> >>> import std.stdio: writeln;
>>> >>>
>>> >>> int main()
>>> >>> {
>>> >>> 	auto json = parseJSON("1        .24E          +1");
>>> >>> 	writeln(toJSON(&json));
>>> >>> 	return 0;
>>> >>> }
>>> >>>
>>> >>> and
>>> >>> output:  12.4
>>> >>>
>>> >>>
>>> >>> It's bug or normal ?
>>> >>
>>> >> Yep, because 1.24E+1 is 12.4E0
>>> >
>>> > I wrote not a "1.24E+1", a "1     .24E     +1"  with 
>>> > leading spaces.
>>> 
>>> Well what should it be if it's not 12.4?
>>
>> A syntax error.
>
> I don't think this would cause any problems. It would just 
> throw syntax error because there is white-space between? It 
> would be just annoying to get syntax error because of extra 
> white-space.
>
> Maybe this is one of the situations where we should think "It's 
> not a bug, it's a feature!"
>
> Unless there is a situation that would make no sense to work or 
> something, it should be left like it is now.

Its not really a situation where we should deviate from the 
specs... it is starting to seem that the json specs say that 
there should be no white spaces and as this is a standard lib, we 
should conform to that


More information about the Digitalmars-d mailing list