Filling an array at compile time

bauss jj_1337 at live.dk
Thu Feb 10 07:16:13 UTC 2022


On Wednesday, 9 February 2022 at 16:37:22 UTC, Ali Çehreli wrote:
> On 2/9/22 01:07, bauss wrote:
>
> > It will not run at compile-time because csvText is a runtime
> variable.
> > It should be enum to be accessible at compile-time.
>
> Yes. For the sake of completeness, any expression needed at 
> compile time will be (attempted to be) executed at compile 
> time. For example, an expression used as a template parameter 
> will be executed at compile time as well.
>
> > The append operation
> > will be executed at runtime, which means that even if the
> loop runs at
> > compile-time then you're effectively not winning anything and
> it
> > basically just becomes a loop-unroll manually done.
>
> That's not true. It all depends on how the expression is 
> needed. If for example, the variable were defined as enum, the 
> compiler had to execute the code at compile time to compute its 
> value.
>
> > The solution would be to create a function that returns a
> string [...]
> > And then simply using mixin
>
> That is unnecessary and hurts readability. :/ Most programmers 
> see string mixins as a last resort.
>
> In any case, some people may find a compile-time file parsing 
> example that I included in a presentation:
>
>   https://youtu.be/dRORNQIB2wA?t=3157
>
> Ali

Thank you Ali for the clarifications


More information about the Digitalmars-d-learn mailing list