Re: Meaning of the dot-function syntax

2023-10-01 Thread dhs via Digitalmars-d-learn

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?

```d
.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.


Re: Meaning of the dot-function syntax

2023-10-01 Thread dhs via Digitalmars-d-learn

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?

```d
.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.


```d
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!


Re: Meaning of the dot-function syntax

2023-10-01 Thread evilrat via Digitalmars-d-learn

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?

```d
.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.


Re: Meaning of the dot-function syntax

2023-10-01 Thread Anonymouse via Digitalmars-d-learn

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?

```d
.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.


```d
int x;

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


Meaning of the dot-function syntax

2023-10-01 Thread dhs via Digitalmars-d-learn

Hi,

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

```d
.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