anyway to set a const object after the fact?
    H. S. Teoh 
    hsteoh at quickfur.ath.cx
       
    Mon Oct 29 22:05:16 UTC 2018
    
    
  
On Mon, Oct 29, 2018 at 09:50:32PM +0000, aliak via Digitalmars-d-learn wrote:
> Hi, so if you have this piece of code:
> 
> struct C {
> 
>   void f() {
>     string[] others;
>     const string[] restArgs;
>     foreach (i, arg; args) {
>       if (isValidArg(arg)) {
>         restArgs = args[i + 1 .. $];
>         break;
>       }
>       others ~= arg;
>     }
>     // "others" is a list of args before the valid arg is encountered
>     // "restArgs" is a list that is the args after the valid arg
>   }
> }
> 
> Is there anyway to set a const object after declaring it in the above
> context?
[...]
What exactly are you trying to accomplish?  I.e., what semantics do you
want from modifying restArgs?
If you're looking to rebind the array, just be a bit more explicit in
how you spell out the type:
	const(string)[] restArgs;
will allow you to rebind it to a different array / slice, but still not
permit you to modify the array elements.
T
-- 
Дерево держится корнями, а человек - друзьями.
    
    
More information about the Digitalmars-d-learn
mailing list