1 matches bool, 2 matches long
Rob T
alanb at ucora.com
Fri Apr 26 16:14:04 PDT 2013
On Friday, 26 April 2013 at 21:37:14 UTC, Walter Bright wrote:
> On 4/26/2013 1:59 PM, Andrej Mitrovic wrote:
>> On 4/26/13, Andrej Mitrovic <andrej.mitrovich at gmail.com> wrote:
>>> An even better example:
>>
>> import std.stdio;
>>
>> void foo(bool x) { writeln("1"); }
>> void foo(long x) { writeln("2"); }
>>
>> void main()
>> {
>> foo(1); // "1"
>> foo(false ? 2 : 1); // "2"
>> }
>>
>> Kill it with fire.
>
> How about this one:
>
> import std.stdio;
>
> void foo(short x) { writeln("1"); }
> void foo(long x) { writeln("2"); }
>
> void main()
> {
> foo(30000); // "1"
> foo(false ? 40000 : 30000); // "2"
> }
We all know that short and long are integer numerics, however
most of us do not think of bool as being a 1 bit integer type. We
expect values of 'true' and 'false' because D has explicit 'true'
and 'false' values, which presumably are there because 1 and 0
which are not the same thing as 'true' and 'false', otherwise
there would be no need for 'true' and 'false'.
--rt
More information about the Digitalmars-d
mailing list