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 !