Passing $ as a function argument

bauss jj_1337 at live.dk
Wed Oct 10 12:46:28 UTC 2018


On Wednesday, 10 October 2018 at 08:46:42 UTC, James Japherson 
wrote:
> Would be nice to be able to pass $ as a function argument to be 
> used in automatic path length traversing.
>
>
> void foo(int loc)
> {
>    return bar[loc];
> }
>
> then foo($) would essentilly become
>
> foo(&)
>
>   becomes ==>
>
>    return bar[$];
>
>
> instead of having do to thinks like foo(bar.length).
>
> The usefulness comes from the case when bar is local:
>
> void foo(int loc)
> {
>    auto bar = double[RandomPInt+1];
>
>    return bar[loc];
> }
>
>
> then foo($) always returns a value and the outside world does 
> not need to know about foo. Since $ is a compile thing 
> expression and not used anywhere else this can always be 
> done(it is a symbolic substitution and has a direct translation 
> in to standard D code except $ cannot be used as arguments like 
> this the current D language grammar).

I don't really get your example and what benefits this would have?

And also what about the current behavior of the $ operator?


More information about the Digitalmars-d mailing list