just an idea (!! operator)

Jonas Drewsen jdrewsen at nospam.com
Fri Jul 13 04:31:09 PDT 2012


On Friday, 13 July 2012 at 09:49:22 UTC, monarch_dodra wrote:
> I don't know much about C#, but in C#, isn't EVERYTHING a 
> reference type? Meaning it always makes sense to check if 
> "myobject is null".
>
> I'm still no expert in D either, but what would(should) happen 
> if you tried to call ?: or ?. on a value type? Writing "s is 
> null" gives "Error: incompatible types for ((s) is (null)): 'S' 
> and 'typeof(null)'"
>
> I'd guess that:
> *"s ?: S(5)" would give a compile error, since it the call 
> makes no sense?
> *"s?.someFunction" would simply resolve as "s.somFunction"?
>    - This could avoid problems in templates that want to use ?.
>
> The operators *look* convenient, but isn't there a risk of 
> ambiguity for D? But again, I'm not expert in either languages.

Regarding the ?: operator I agree with Andrei that is should be 
handled by a coalesce() function instead.

Can you identify any ambiguity with an ?. operator.

/Jonas



More information about the Digitalmars-d mailing list