On Thursday, 28 July 2022 at 11:13:19 UTC, Dennis wrote:
On Wednesday, 27 July 2022 at 18:19:34 UTC, pascal111 wrote:
The library link:
https://github.com/pascal111-fra/turbo-c-programs/blob/main/COLLECT2.H

It would help if the functions had a comment explaining what they're supposed to do, but it looks like most of them are string functions. In D, you can concatenate strings with the `~` operator, and utility functions like `strip` and `replace` are in the `std.string` module:

https://dlang.org/phobos/std_string.html

I also think you defined the equivalent of these functions:
```D
import std.algorithm: swap;
import std.math: sgn, trunc;
```

As you mentioned, I retyped some of 'em:

module dcollect;

import std.stdio;
import std.conv;

/****************************************/

string strleft(const string ch, int n)
{

        string ch_sub;

        for(int i=0; i<n; i++)
            ch_sub~=ch[i];

        return ch_sub;

}

/************************************/

string strreverse(const string ch)
{

        string ch_rev;

        for(int i=to!int(ch.length-1); i>=0; i--)
            ch_rev~=ch[i];


        return ch_rev;


}

/*********************************************/

string strright(const string ch, int n)
{

        string ch_sub1,
        ch_sub2;

        ch_sub1=strreverse(ch);

        ch_sub2=strleft(ch_sub1, n);

        ch_sub1=strreverse(ch_sub2);

        return ch_sub1;

}

/*********************************************/

void swap(T)(ref T x,ref T y)
{

        T z;

        z=x;
        x=y;
        y=z;

}

/*********************************************/

int sgn(T)(T x)
{

        if(x<0)
            return -1;
        else if(x>0)
            return 1;
        else
            return 0;

}

Reply via email to