On Wednesday, 16 October 2024 at 23:54:45 UTC, Danico wrote:

https://github.com/Alinarov/D-descubrimientos

¡Bienvenido (Bienvenida ?) a nuestro D Forum! Nos alegra mucho tenerte con nosotros. Es obvio que no estás empezando, y estamos seguros de que tu experiencia será de gran valor para todos. Pero es necesario escribir en inglés:

Welcome to the world of D. It's obvious you're not just starting out. You will definitely get better with time. When I look at your code snippets, the first lines usually start like this:

```d
#!/usr/bin/env dmd
import std;

alias print = writeln;

//...
```

I'm sure you chose the print alias for convenience. But you can do something similar much more easily. Here it is:

```d

import std.stdio : print = writeln;

```

This way selective importing makes it easier to learn the standard library and optimizes the compiled code in the best way possible. For example, the following function is very enjoyable to read:

```d
auto maxPow(ulong a, ulong b)
{
  import std.math : pow;
  import std.algorithm : min, max;
  auto power = a.min(b);

  return a.max(b).pow(power);
}

unittest
{
  assert(maxPow(2, 5) == 25);
  assert(maxPow(5, 2) == 25);
  assert(maxPow(5, 0) == 1);
  assert(maxPow(0, 5) == 1);
}
```

It may seem strange to you to use import lines inside functions, here, there, everywhere. But rest assured, this experience will provide you with advantages that are not available in almost any other programming language.

Of course, the choice is yours, it is possible to make everything much easier with `import std`. 😁

SDB@89

Reply via email to