On Friday, 29 July 2022 at 15:39:16 UTC, Salih Dincer wrote:
On Friday, 29 July 2022 at 14:14:54 UTC, pascal111 wrote:
we won't find that there is a definition for it with just two parameters, so from where you got this new definition of this function?!

This thread is about [UFCS](https://tour.dlang.org/tour/en/gems/uniform-function-call-syntax-ufcs). It can also be written as:

```d
import std.string,
       std.stdio;

void findStr(string str) { }

void main()
{
  string str = "Hello, World!";
  str.indexOf("Wo").writeln; //7
  auto pos = "Hello, World!".indexOf("Wo");

  auto slice = str[pos..$-1];
  slice.writeln(": ", slice.length); // World: 5
  typeid(slice).writeln; // immutable(char)[]

  assert(str.indexOf("Wo") == pos);

  void find_str(string str) { }

  find_str(str);
  str.findStr();

  /* No compile:

  slice.typeid().writeln;

  slice.indedOf("Wo").assert();

  str.find_str();
  */
}
```

SDB@79

I made this version:

auto d_strstr (const string ch, const string substr)
{

        return ch.indexOf(substr);

}

https://github.com/pascal111-fra/D/blob/main/dcollect.d


////////////testing program


module main;

import std.stdio;
import std.string;
import std.conv;
import dcollect;
import std.math;

    int main(string[] args)
    {
        int x;
        char[] ch;
        string ch1="Hello World!";

        writeln(ch1.d_strstr("ll"));


        return 0;
    }


Reply via email to