Option!T

Andrei Alexandrescu SeeWebsiteForEmail at erdani.org
Tue Dec 10 10:16:47 PST 2013


On 12/10/13 9:47 AM, Max Klyga wrote:
> On 2013-12-10 17:28:26 +0000, Andrei Alexandrescu said:
>
>> I talked to a programmer who knows Scala (among others) and he
>> mentioned the usefulness of the Option type - a zero or one element
>> collection (range in D terminology). Here's an article discussing it:
>> http://danielwestheide.com/blog/2012/12/19/the-neophytes-guide-to-scala-part-5-the-option-type.html
>>
>>
>> We have only(x) (http://dlang.org/phobos/std_range.html#.only) to be a
>> collection of exactly one value, but not a type for "a value of type T
>> or nothing at all". Should we follow Scala's example and add it?
>>
>>
>> Andrei
>
> Yes! Option is super useful. Use it all the time in Scala and Java (via
> Guava library).
> I suppose it will be defined as a range, so map will work on it?
> One of the useful things about options are the ability to chain them via
> flatMap, will this usecase be handled?

Yah, looks like flatMap is also useful (independently from Option). 
Should actually be flatMap!(R, uint depth = uint.max).

Andrei



More information about the Digitalmars-d mailing list