On Monday, 20 April 2015 at 20:09:59 UTC, rumbu wrote:
On Monday, 20 April 2015 at 15:37:02 UTC, Atila Neves wrote:
On Monday, 20 April 2015 at 12:16:21 UTC, Jakob Ovrum wrote:
On Monday, 20 April 2015 at 08:24:08 UTC, weaselcat wrote:
http://www.reddit.com/r/programming/comments/335b1s/the_new_operator_in_c_6/

of interesting note was the nim sample on how to implement the same thing in nim in 2 lines of code

template `?.`(a, b): expr =
if a != nil: a.b else: nil

template `??`(a, b): expr =
if a != nil: a else: b

This is what I came up with for D:

  https://gist.github.com/JakobOvrum/7e3a7bc130ab7db28de3

Meh.

Here's mine:

https://gist.github.com/atilaneves/727d63f0a7029032d7ac


I fail to understand Atila example. Just to be sure:

C#:
var roleName = userManager.CurrentUser?.GetRole()?.Name;

D (Jakob):
auto roleName = userManager.getOrNull!("CurrentUser", "GetRole", "Name");

D (Atila):
auto roleName = ?

These API look overly complex. Why not simply:

maybe(userManager).CurrentUser.GetRole().Name ?

Also, CAPITAL LETTER ARE THE BEST !

Reply via email to