Proposal: Support for objects in switch statements
Yuxuan Shui
yshuiv7 at gmail.com
Wed Nov 1 04:54:33 UTC 2017
On Wednesday, 1 November 2017 at 01:16:32 UTC, solidstate1991
wrote:
> After I started to alter my graphics engine to use the multiple
> kinds of bitmaps (now using multiple language features, like
> templates and aliases) on one layer, I noticed that type
> detection of bitmap objects would be easier and better
> readable, if instead of:
>
> if(bitmapObject.classinfo == typeof(Bitmap4Bit)){
> ...
> }else if(bitmapObject.classinfo == typeof(Bitmap8Bit)){...
>
> I could easily use this:
>
> switch(bitmapObject.classinfo){
> case typeof(Bitmap4Bit):
> ...
> case typeof(Bitmap8Bit):
> }
>
> On the other hand I cannot really think other uses for such
> language feature, maybe with structs.
Maybe use something similar to recieve()? Like:
match(obj, (Type1 x) => {}, (Type2 x) => {}, ...)
More information about the Digitalmars-d
mailing list