Thread overview
Multiply a string?
Jun 07
Sergey
20 hours ago
Neto
20 hours ago
H. S. Teoh
20 hours ago
Neto
1 day ago
Jabba Laci
20 hours ago
Neto
June 07

In logging output, I often want indentation. In Python, the output is built like:

print(" " * ddepth, "data at this level: ", datum)

Which is to say, build a string by concatenating " " ddepth times. Is there a comparable idiom in dlang or Phobos?

Thanks!
Andy

June 07

On Saturday, 7 June 2025 at 16:13:06 UTC, Andy Valencia wrote:

>

Which is to say, build a string by concatenating " " ddepth times. Is there a comparable idiom in dlang or Phobos?

Thanks!
Andy

I think there are many ways to do it
The simplest that comes to my mind:

void main() {
    string error_message = "D's desing is far from perfect";
    writeln(" ".repeat(5).join, "[INFO]:", Clock.currTime(), " - ", error_message);
}
June 07

On Saturday, 7 June 2025 at 16:42:51 UTC, Sergey wrote:

>

I think there are many ways to do it
The simplest that comes to my mind:

Thanks! repeat() it is (though I just wrote on which avoids the interim representation, so no join() needed).

Andy

1 day ago

On Saturday, 7 June 2025 at 16:13:06 UTC, Andy Valencia wrote:

>

Which is to say, build a string by concatenating " " ddepth times. Is there a comparable idiom in dlang or Phobos?

I use this:

import std.stdio;
import std.array;  // from here

void main()
{
    writeln("-".replicate(5));  // must be a string
}
20 hours ago

On Saturday, 7 June 2025 at 16:42:51 UTC, Sergey wrote:

>

On Saturday, 7 June 2025 at 16:13:06 UTC, Andy Valencia wrote:

>

Which is to say, build a string by concatenating " " ddepth times. Is there a comparable idiom in dlang or Phobos?

Thanks!
Andy

I think there are many ways to do it
The simplest that comes to my mind:

void main() {
    string error_message = "D's desing is far from perfect";
    writeln(" ".repeat(5).join, "[INFO]:", Clock.currTime(), " - ", error_message);
}

is repeat from a native module? if so, which one?

20 hours ago
On Sat, Jun 21, 2025 at 04:18:37PM +0000, Neto via Digitalmars-d-learn wrote:
> On Saturday, 7 June 2025 at 16:42:51 UTC, Sergey wrote:
[...]
> > ```d
> > void main() {
> >     string error_message = "D's desing is far from perfect";
> >     writeln(" ".repeat(5).join, "[INFO]:", Clock.currTime(), " - ",
> > error_message);
> > }
> > ```
> 
> is `repeat` from a native module? if so, which one?

std.range


T

-- 
Elegant or ugly code as well as fine or rude sentences have something in common: they don't depend on the language. -- Luca De Vitis
20 hours ago
On Saturday, 21 June 2025 at 16:23:42 UTC, H. S. Teoh wrote:
> On Sat, Jun 21, 2025 at 04:18:37PM +0000, Neto via Digitalmars-d-learn wrote:
>> On Saturday, 7 June 2025 at 16:42:51 UTC, Sergey wrote:
> [...]
>> > ```d
>> > void main() {
>> >     string error_message = "D's desing is far from perfect";
>> >     writeln(" ".repeat(5).join, "[INFO]:", Clock.currTime(), " - ",
>> > error_message);
>> > }
>> > ```
>> 
>> is `repeat` from a native module? if so, which one?
>
> std.range
>
>
> T

thanks
20 hours ago

On Saturday, 21 June 2025 at 12:43:31 UTC, Jabba Laci wrote:

>

On Saturday, 7 June 2025 at 16:13:06 UTC, Andy Valencia wrote:

>

Which is to say, build a string by concatenating " " ddepth times. Is there a comparable idiom in dlang or Phobos?

I use this:

import std.stdio;
import std.array;  // from here

void main()
{
    writeln("-".replicate(5));  // must be a string
}

very nice solution