"R" suffix for reals
Era Scarecrow
rtcvb32 at yahoo.com
Sun May 6 18:46:55 PDT 2012
On Monday, 7 May 2012 at 01:02:29 UTC, bearophile wrote:
> Jonathan M Davis:
>> And what is so onerous about having to do 1.0L instead of 1R?
>
> It's not onerous, the purpose of "R" is not to save typing
> ".0". If you write "auto x = 1L;" thinking about defining a
> real, as you define a float with "auto x = 1F;" you are
> introducing a small bug.
>
> Or maybe you initially have written:
> auto r = 1.1L;
> And later you want to change the number to 1.0 and you fix it
> like this:
> auto r = 1L;
> Now you have a little bug.
>
> The "R" is more symmetric with "f", it works as "f" for real.
> This makes learning D a bit simpler.
Perhaps it means nothing, but I'll comment anyways.
To me if I were to add suffixes, it would be the first letter of
what made sense, goes with a default type we know. With the
exception of using a-f being hex codes already known.
So...
b - binary
s - short - likely unneeded
l - long
f - float
r - real
o - octal
h - hexidecimal (or prefix 0x since it's so common and stands
out)
prepend u to any to make unsigned, so ul is unsigned long, ie
10ul. (makes binary safe as ub, but that's kinda ugly)
? - byte
? - int/decimal
d - double (df for double float?)
More information about the Digitalmars-d
mailing list