import and call

Basile B. b2.temp at gmx.com
Sun Jun 2 20:03:58 UTC 2019


On Sunday, 2 June 2019 at 19:38:11 UTC, Amex wrote:
>
> Tired of having to import a single function to call it.
>
> Since
>
> mod.foo(x);
>
> doesn't work since mod is not defined.
>
> we have to do
>
> import mod : foo;
> foo(x);
>
> Why not
>
> mod:foo(x)?
>
> or
>
> mod#foo(x)
>
> or
>
> mod at foo(x)
>
> or whatever
>
> Reduces 50% of the lines and reduces the import symbol.
>
> I realize that we could do
>
> import m = mod;
>
> m.foo(x);
>
> but the idea is to only import the single function. I'm not 
> sure if it matters. I thought importing single functions were 
> suppose to be faster. Am I wrong?
>
> The idea is to reduce having to litter the code with imports 
> which I find I'm always having to do, or to make them global... 
> just for a few calls in to them.

Expression based import is possible using mixin, see 
https://dlang.org/blog/2017/02/13/a-new-import-idiom/


More information about the Digitalmars-d-learn mailing list