Thread overview | |||||
---|---|---|---|---|---|
|
July 21, 2006 Proposal: Enum types as valid With-statement parameters | ||||
---|---|---|---|---|
| ||||
I recently found myself writing the following code: # struct Var { # # // ... other stuff ... # # bool truth () { # switch (type) { # case VarType.Clear : # case VarType.Error : return false ; # case VarType.Object : return o !is null ; # case VarType.Int : return i != 0_L ; # case VarType.Float : return f != 0.0_L ; # case VarType.String : return s.length != 0 ; # case VarType.Symbol : return validSymbol() ; # case VarType.Bool : return b ; # case VarType.List : return l.length != 0 ; # case VarType.Map : return m.keys.length != 0 ; # case VarType.Frob : return true ; # } # } # # // ... other stuff ... # # } It would have been nice to be able to write this as: # struct Var { # # // ... other stuff ... # # bool truth () { # with (VarType) switch (type) { # case Clear : # case Error : return false ; # case Object : return o !is null ; # case Int : return i != 0_L ; # case Float : return f != 0.0_L ; # case String : return s.length != 0 ; # case Symbol : return validSymbol() ; # case Bool : return b ; # case List : return l.length != 0 ; # case Map : return m.keys.length != 0 ; # case Frob : return true ; # } # } # # // ... other stuff ... # # } Walter: how difficult would it be to allow named Enum types as valid With-statement parameters? When named Enums are used in tandem with constructs such as Switch, this could save quite a lot of typing, and is still perfectly clear when reading code. -- Chris Nicholson-Sauls |
July 21, 2006 Re: Proposal: Enum types as valid With-statement parameters | ||||
---|---|---|---|---|
| ||||
Posted in reply to Chris Nicholson-Sauls | > Walter: how difficult would it be to allow named Enum types as valid With-statement parameters? When named Enums are used in tandem with constructs such as Switch, this could save quite a lot of typing, and is still perfectly clear when reading code.
>
> -- Chris Nicholson-Sauls
Actually, there's no need for that with(). If the switch value of of a named enum type, the corresponding constants could automatically become available for cases. It could be even better, if no other value was allowed (except default), as it's almost by definition a mistake?
xs0
|
July 22, 2006 Re: Proposal: Enum types as valid With-statement parameters | ||||
---|---|---|---|---|
| ||||
Posted in reply to Chris Nicholson-Sauls | Chris Nicholson-Sauls wrote: > Walter: how difficult would it be to allow named Enum types as valid With-statement parameters? When named Enums are used in tandem with constructs such as Switch, this could save quite a lot of typing, and is still perfectly clear when reading code. > I asked for this myself a while back: http://www.digitalmars.com/d/archives/digitalmars/D/37925.html It would indeed be a handy feature. |
Copyright © 1999-2021 by the D Language Foundation