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