On Saturday, 19 March 2022 at 05:54:26 UTC, Vinod K Chandran wrote:
Question 1 - `U` is appearing in the first static if statement. But we had to write `U` on the template line, right? Like - `template rank(T, U)` Question 2 - The statif if test is - `T t == U[ ]` What does that mean ? Question 3 - if `T t == U[ ]` is the test, then I think when we pass

You don't need anything extra while using it...

I think U is declare a range. Here is a recursive pattern. Just like the code I wrote below:

```d
import std.stdio;

alias outer O;

struct outer {
  int i;
  O * o;
}

int rank(T)(T* s) {
  int count = 1;

  if(s.o is null) return count;


  return count + rank(s.o);
}

void main() {
  auto test = O(1, new O(2, new O(3, new O)));

  rank(test.o).writeln;

  test.i.write(", ");
  test.o.i.write(", ");
  test.o.o.i.writeln;
} /* CONSOLEOUT:
3
1, 2, 3
*/
```
SDB@79

Reply via email to