Adding the ?. null verification

deadalnix via Digitalmars-d digitalmars-d at puremagic.com
Wed Jun 18 10:39:02 PDT 2014


On Wednesday, 18 June 2014 at 15:42:04 UTC, Etienne wrote:
> I find myself often repeating this boilerplate:
>
> if (obj.member !is null)
> {
> 	if (obj.member.nested !is null)
> 	{
> 		if (obj.member.nested.val !is null)
> 		{
> 			writeln(obj.member.nested.val);
> 		}
> 	}
> }
>
> I have to admit it's a little frustrating when you see swift's 
> ?. syntax notation, it would be a little more practical to be 
> able to write
>
> writeln(obj.member?.nested?.val);
>
>
> Based on 
> http://appventure.me/2014/06/13/swift-optionals-made-simple/
>
>
> Any thoughts?

Use a maybe monad :
Maybe(obj).memeber.nested.val

This doesn't require a language construct. Also, if null check 
are pervasive in your code, you probably have a problem somewhere.


More information about the Digitalmars-d mailing list