Thread overview
Meaning of the dot-function syntax
Oct 01, 2023
dhs
Oct 01, 2023
Anonymouse
Oct 01, 2023
dhs
Oct 01, 2023
evilrat
Oct 01, 2023
dhs
October 01, 2023

Hi,

What's the meaning of the dot in the call to writeln() below?

    .writeln("Hello there!");

I haven't found this in the spec or anywhere else. This is used very often in the source code for Phobos.

Thanks,
dhs

October 01, 2023

On Sunday, 1 October 2023 at 08:22:48 UTC, dhs wrote:

>

Hi,

What's the meaning of the dot in the call to writeln() below?

    .writeln("Hello there!");

I haven't found this in the spec or anywhere else. This is used very often in the source code for Phobos.

Thanks,
dhs

Quote https://dlang.org/spec/module.html#module_scope_operators;

>

A leading dot (.) causes the identifier to be looked up in the module scope.

int x;

int foo(int x)
{
    if (y)
        return x;  // returns foo.x, not global x
    else
        return .x; // returns global x
}
October 01, 2023

On Sunday, 1 October 2023 at 08:22:48 UTC, dhs wrote:

>

Hi,

What's the meaning of the dot in the call to writeln() below?

    .writeln("Hello there!");

I haven't found this in the spec or anywhere else. This is used very often in the source code for Phobos.

Thanks,
dhs

It is either means "use global scope writeln" in cases when there is local writeln in the scope shadowing global one, or simply a chained calls like myarray.filter().sort().map() each on new line.

October 01, 2023

On Sunday, 1 October 2023 at 09:20:32 UTC, Anonymouse wrote:

>

On Sunday, 1 October 2023 at 08:22:48 UTC, dhs wrote:

>

Hi,

What's the meaning of the dot in the call to writeln() below?

    .writeln("Hello there!");

I haven't found this in the spec or anywhere else. This is used very often in the source code for Phobos.

Thanks,
dhs

Quote https://dlang.org/spec/module.html#module_scope_operators;

>

A leading dot (.) causes the identifier to be looked up in the module scope.

int x;

int foo(int x)
{
    if (y)
        return x;  // returns foo.x, not global x
    else
        return .x; // returns global x
}

Oh thank you, especially the link to the spec!

October 01, 2023

On Sunday, 1 October 2023 at 09:24:39 UTC, evilrat wrote:

>

On Sunday, 1 October 2023 at 08:22:48 UTC, dhs wrote:

>

Hi,

What's the meaning of the dot in the call to writeln() below?

    .writeln("Hello there!");

I haven't found this in the spec or anywhere else. This is used very often in the source code for Phobos.

Thanks,
dhs

It is either means "use global scope writeln" in cases when there is local writeln in the scope shadowing global one, or simply a chained calls like myarray.filter().sort().map() each on new line.

Thanks.